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 :
Ce code marche très bien. La macro est dans un fichier (this workbook) dans un répertoire de mon disque D.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
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'à
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.
Code : Sélectionner tout - Visualiser dans une fenêtre à part If .Execute > 0 Then
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
Partager