probleme de chemin avec Application.FileSearch
Bonjour,
J'utilise depuis plusieurs mois une macro qui me sert à modifier une cinquantaine de fichiers identiques(modification de format, ajout de colonne....) qui est la suivante :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
| Sub chercheFichier_modif_fichierV5()
Const chemin = "T:\ST\INSTALLATIONS INDUSTRIELLES\CRA - REPORTING\essai macro2"
Dim Nomchercher As String
Dim oFS As Variant
Dim Nomfichier, industriel, Fichier_ind As String
Dim I As Integer
Dim plage1, plage2, plage3, plage4 As Range
Dim cible As Workbook
Dim cell As Range
Dim nazaire As String
'Set plage1 = Worksheets("récap région").Range("M410:AO422")
Set plage2 = Worksheets("récap région").Range("AW399")
'Set plage3 = Worksheets("récap région").Range("AA371")
'Set plage4 = Worksheets("récap région").Range("AP371")
Set oFS = Application.FileSearch
With oFS
.LookIn = chemin
.FileType = msoFileTypeExcelWorkbooks
If .Execute > 0 Then
For I = 1 To .FoundFiles.Count
Nomfichier = .FoundFiles(I)
'ouvre le fichier cible après l'avoir identifié
Set cible = Workbooks.Open(Nomfichier)
'retire la protection de l'onglet récap
cible.Worksheets("récap région").Unprotect Password:="nazaire"
'copie les plages du fichier source dans le fichier cible aux endroits désignés
'plage1.Copy cible.Worksheets("récap région").Range("M410:AO422")
plage2.Copy cible.Worksheets("récap région").Range("AW399")
'plage3.Copy cible.Worksheets("récap région").Range("AA371")
'plage4.Copy cible.Worksheets("récap région").Range("AP371")
cible.Save
cible.Close
'poursuit la procédure pour les fichiers suivants du répertoire cible
Next I
Else
MsgBox "Aucun fichier trouvé"
End If
End With
MsgBox "fin de recherche"
End Sub |
Ce code marche très bien. La macro est dans un fichier (this workbook) dans un répertoire de mon disque D.
Les fichiers à modifier sont dans un répertoire sur un serveur accessible de mon pc par le réseau interne de l'entreprise.
Je souhaite utiliser cette macro pour le même usage mais pour des fichiers qui se trouvent sur un autre répertoire (D:\essai macro).
J'ai donc modifié le chemin dans le code :
"D:\essai macro" à la place de
"T:\ST\INSTALLATIONS INDUSTRIELLES\CRA - REPORTING\essai macro2"
Mais ça ne marche pas le code va jusqu'à
Code:
If .Execute > 0 Then
puis va directement à next et affiche "aucun fichier" alors qu'il y a bien des fichiers dans le répertoire. J'ai bien vérifié la syntaxe du chemin, je l'ai copié à partir de la barre dans l'explorateur. Rien n'y fait ça bloque toujours au même endroit.
J'ai modifié le chemin et la place des fichiers toujours sur le répertoire T, là ça fonctionne où que ce soit sur ce répertoire et pas ailleurs.
Pourquoi ??
Merci d'avance