ERREUR MACRO

Résolu
Gwen59000 Messages postés 52 Statut Membre -  
Gwen59000 Messages postés 52 Statut Membre -
Bonjour,

J'ai dans un répertoire 1000 fichiers clients excel nommés par le nom du client.( \\Serveur3\dserveur\Récapitulatif Clients Lesquin\Clients\Clients Affrètement\"nom client".xls)

J'ai dans un répertoire un récapitulatif de ces clients avec quelques valeurs (\\Serveur3\dserveur\Récapitulatif Clients Lesquin\Récapitulatif Clients Lesquin.xls): De A7 à A1006 la liste des clients et de C7 à C1006 la valeur de la cellule E18 du fichier client client d'origine.

J'ai tenté de faire cette macro qui ne fonctionnne pas pour appliquer la formule de la cellule C7 à la cellule C1006 (de plus je voudrais que s'il n'y a pas de nom dans la colonne A il n'apparaisse pas de message d'erreur mais " ").

Sub copierformules()
'
' copierformules Macro
' Macro enregistrée le 10/02/2010 par
'
For i = 7 To 15
Range("C" & i).Value = "='\\Serveur3\dserveur\Récapitulatif Clients Lesquin\Clients\Clients Affrètement\[" & Range("A" & i).value & ".xls]STATS'!$E$18"

Next i

End Sub

Merci d'avance,
Configuration: Windows XP Internet Explorer 7.0

9 réponses

  1. tompols Messages postés 1273 Date d'inscription   Statut Contributeur Dernière intervention   460
     
    Salut,
    qd tu dis que la macro ne fonctionne pas, qu'est-ce que tu entends par là ? tu as un msg d'erreur ?
    sinon pour conditionnner en fonction de A :
    For i = 7 To 15
    If Range("A" & i).value = "" then 'on pourrait aussi utiliser If IsEmpty(Range("A" & i))
    Range("C" & i).value = " "
    else
    Range("C" & i).Value = "='\\Serveur3\dserveur\Récapitulatif Clients Lesquin\Clients\Clients Affrètement\[" & Range("A" & i).value & ".xls]STATS'!$E$18"
    end if

    Next i
    0
  2. Gwen59000 Messages postés 52 Statut Membre
     
    Bonjour tompols,

    Je viens de rectifier la macro et j'ai le message suivant :

    erreur d'execution '1004' :
    erreur definie par l'application ou par l'objet

    surligné : Range("C" & i).Value = "='\\Serveur3\dserveur\Récapitulatif Clients Lesquin\Clients\Clients Affrètement\[" & Range("A" & i).value & ".xls]STATS'!$E$18"

    ?
    0
  3. Gwen59000 Messages postés 52 Statut Membre
     
    Re,

    Le nom du client que j'ai dans la colonne A est déjà issu d'une formule :

    =SI('[Base de données Affrètement.xls]Feuil2'!$C3=0;"";'[Base de données Affrètement.xls]Feuil2'!$C3)

    c'est peut être la raison de l'erreur ?
    0
  4. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    Bonjour

    Si les noms de tes clients en A7:A1006 sont ceux des tes fichiers dans le repertoire //serveur3 etc...
    essaie cette macro (macroXL4 dite de Walkenbach)

    Sub transferer()
    Dim lig As Long
    Dim chemin As String, onglet As String
    Dim fich As String
    
    onglet = "feuil1" 'a adapter
    chemin = ThisWorkbook.Path '  a adapter au chemin des fichiers sources sous la forme classique et non sous la forme //serveur3....
    Application.ScreenUpdating = False
    range("A6:A1010").clearcontents
    ChDir chemin
    fich = Dir("*.xls")
    While fich <> ""
        Cells(6 + lig, 3) = ExecuteExcel4Macro("'" & chemin & "\[" & fich & "]" & onglet & "'!R18C5") 'R18C5==>cellule E18
        lig = lig + 1
        
        fich = Dir
    Wend
    
    MsgBox "transferts terminés avec succès"
    End Sub


    mais il n'est pas bien difficile de partir des noms en A6:A....
    Il faut toutefois que le chemin soit de la forme classique du genre x:\......

    Ci joint maquette de travail
    https://www.cjoint.com/?cllUzoS1VO

    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Gwen59000 Messages postés 52 Statut Membre
     
    Bonjour Michel,

    J'ai essaye mais message erreur chemin d'acces introuvable. Je ne comprends pas exactement ce que je dois mettre. La liste de mes clients en colonne s'est effacée ?
    0
  7. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    Excuses moi c'était range("C7:C1010) au lieu de range("A6:A2010") je suis vraiment désolé :-((

    et pendant que j'y suis
    While fich <> ""
        Cells(7 + lig, 3) = ExecuteExcel4Macro("... etc


    pour le chemin tu indiques:
    \\Serveur3\dserveur\Récapitulatif Clients Lesquin\Clients\Clients Affrètement

    il faudrait au lieu de \\serveur3\ la lettre correspondant à l'adresse du serveur3, par exemple
     X:\dserveur\Récapitulatif Clients Lesquin\Clients\Clients Affrètement

    il doit y avoir des scripts pour faire mais je n' ai plus ca en t^te!...(je ne suis plus sur réseau) a tout hasard regarde dans l'explorateur Windows si tu ne retrouves pas cette lettre pour le serveur ou demande à l'admin
    0
  8. Gwen59000 Messages postés 52 Statut Membre
     
    Re,

    Ne marche tjrs pas.

    Surligne :

    Cells(7 + lig, 3) = ExecuteExcel4Macro("'" & chemin & "\[" & fich & "]" & onglet & "'!R18C5") 'R18C5==>cellule E18

    ?
    0
  9. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    chemin est égal à quoi ?
    onglet est égal à quoi ?

    Il eut été peut-^tre profitable que tu indiques ce que tu avais fait en fonction de mes interrogations et/ou observations...
    0
  10. Gwen59000 Messages postés 52 Statut Membre
     
    Bonjour à vous deux,

    Finalement la macro en début de post fonctionne. Certains noms de mes clients contiennent une ' que j'ai du supprimer. Maintenant la macro se déroule normalement.

    merci pour votre aide
    0