ERREUR MACRO
Résolu
Gwen59000
Messages postés
52
Statut
Membre
-
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,
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
-
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 -
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"
? -
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 ? -
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
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
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 ? -
Excuses moi c'était range("C7:C1010) au lieu de range("A6:A2010") je suis vraiment désolé :-((
et pendant que j'y suisWhile 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 exempleX:\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 -
Re,
Ne marche tjrs pas.
Surligne :
Cells(7 + lig, 3) = ExecuteExcel4Macro("'" & chemin & "\[" & fich & "]" & onglet & "'!R18C5") 'R18C5==>cellule E18
? -
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...
-
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