bonjour à toutes et à tous,
cela fait quelques jours que je galère à programmer une tache de copie de fichiers mal grès quelques idées pompées sur le forum ci ou là.
Le but de mon fichier est de récapituler des données de rapport de contrôle tous situés dans un même dossier.
Le dossier contenant les fichiers est changeant mais je maîtrise l'indexation vers son lien.
Dans ce dossier je veux ouvrir que les fichiers .xls qui ont un nom numérique à partir de 1.xls ( pas les fichier essai.xls ou 0.xls...) sachant que le nombre de fichier varie d'une fabrication à l'autre. La copie des données contenue dans les différents fichiers se fera avec certaines conditions que je maîtrise déjà.
J'ai essayé ce code:
Chemin = "W:\tridim\Rapport\Client\" & Sheets(1).Range("client") & "\" & Sheets(1).Range("cmd_int") & "\" & Sheets(1).Range("code_produit") & "\N°OF" & Sheets(1).Range("of") & "\" 'lien vers le dossier contenant les fichiers à copier, modifiable à souhait
Fichier = Dir(Chemin & "*.xls") 'ouverture des fichiers .xls
Do While Fichier <> "" 'je comprend cette commande comme étant "faire jusqu'à ce que le dossier soit vide", or le dossier n'est jamais vide
With Workbooks.Open(Fichier)
If IsNumeric(ThisWorkbook.Name) And ThisWorkbook.Name <> "0" Then 'si le nom du fichier est numérique et different de 0
MsgBox "ça marche"
Else
MsgBox "ça ne marche pas"
End If
.Close
End With
Loop
j'obtiens une boucle infinie avec le message "ça ne marche pas" et le même fichier est ouvert.
Toute aide est la bien venue et si c'est pas claire n’hésitez pas à me demander des éclaircissements.
Cordialement,