Bonjour,
J'ai une macro qui synchronise plusieurs fichiers excel externe à mon fichier possédant la macro.
Fichier principal : Tableau de bord (TDB_GENERAL.xlsm)
Fichiers à synchroniser : "n" fichier dans un même répertoire (tab_nego_XXX.xlsm).
Aujourd'hui, j'ai écrit autant de fois la boucle de mon script VBA en modifiant manuellement le nom de mes fichiers excel à synchroniser.
Mon souci, c'est que si on ajoute un ou plusieurs fichier à synchroniser il faut modifier manuellement le VBA.
Je sais qu'il y a une boucle à faire pour que mon script soit appelé qu'une seule fois.
La construction du nom des fichiers est identique et normé comme suit :
tab_nego_XXX.xlsm
Le XXX correspond au initiale du négociant. Ces initiales sont dans la liste récap d'une feuille du tableau principal (TDB_GENERAL.xlsm).
Comment faire pour :
- récupérer les initiales de cette liste
- compiler le nom de chaque fichier (tab_nego_) plus les initiales (.xlsm)
- et faire la boucle sur chaque fichier du répertoire jusqu'à la fin de la liste des initiales.
Voici mon code VBA actuel :
Le code ci-dessus est coupé mais il fonctionne très bien aujourd'hui, c'est juste une boucle sur les noms des fichiers qu'il me faut... sachant que le nom du fichier est utilisé au tout début du code et au milieu du code VBA.
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 Windows("TDB_NEGO_EM.xlsm").Activate Sheets("ZZZZZZZ").Select Columns("A:M").Select Selection.Copy Windows("XXXXXXX.xlsm").Activate Sheets("YYYYYYY").Select Columns("A:A").Select Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _ ... / ... Windows("TDB_NEGO_EM.xlsm").Activate Sheets("ZZZZZZZ").Select Rows("1:102").Select Selection.Copy .../... Sheets("YYYYYYY").Select Columns("A:M").Select Selection.ClearContents
J'espère avoir été suffisamment explicite.
Merci d'avance de vos réponses.
Partager