J’ai une macro chargée d’ouvrir tous les fichiers “*.xls” se trouvant dans le dossier appelé TobeCopied qui se trouve sur le même chemin que le fichier avec la macro (Base).
Ce matin la macro a renvoyé un message d’erreur prétendant qu’il n’y avait pas un tel fichier dans le dossier, alors qu’il y en avait deux.
En analysant les noms des fichiers j’ai constaté que l’extension “.xls” n’était pas affichée. Je l‘ai ajoutée au nom de l‘un des deux fichiers, mais pas à l‘autre, et j‘ai relancé la macro qui a alors ouvert les deux fichiers.
J‘ai essayé encore sans l‘extension: aucun fichier trouvé, idem lorsque j‘ai rajouté l‘extension.
J‘ai redémarré Excel, puis l‘ordinateur, sans changement.
J‘ai alors ouvert le fichier contenant la macro (il se trouve sur un serveur et est nommé „Base“) sur un autre ordinateur: les fichiers sans l‘extension ont été ouverts sans problème.
Lors des essais échoués, j’ai exécuté la macro pas à pas avec F8, le chemin était le bon, mais Fname (les noms des fichiers à ouvrir) a affiché vide.
J‘en conclue que cela ne doit pas tenir ni au fichier avec la macro ni même à Excel.
Où pourrait résider le problème?
La partie concernée de la macro:
VB:
Set wbZiel = Workbooks("Base.xls")
Pfad = ActiveWorkbook.Path
SuchPfad = Pfad & "\TobeCopied"
ChDir SuchPfad
'---upfront check----
msg = "You are about to copy all data " & Chr(13) & _
"from the folder" & Chr(13) & "<TobeCopied>" & _
Chr(13) & "to the database list."
If MsgBox(msg, vbOKCancel) = vbCancel Then Exit Sub
'---check if there are files to be copied----
FNames = Dir("*.xls")
If Len(FNames) = 0 Then
MsgBox "No files in the Directory"
ChDir Pfad
Exit Sub
End If
Bonjour
peut être une gestion d'attente les dossier sur serveur ou pc distant pouvant prendre un peu plus de temps des fois mes si la macro appelantes est lancer depuis un fichier au même endroit
Avez vous surtout ajouté le plus important, à savoir un ChDrive SuchPfad et plus du ChDir SuchPfad, si toutefois c'est bien toujours un chemin classique et non de réseau, auquel cas il faut plutôt utiliser l'API SetCurrentDirectory ?
Avez vous surtout ajouté le plus important, à savoir un ChDrive SuchPfad et plus du ChDir SuchPfad, si toutefois c'est bien toujours un chemin classique et non de réseau, auquel cas il faut plutôt utiliser l'API SetCurrentDirectory ?