Bonsoir à tous,
Je cherche à consolider deux fichiers (plus exactement : les 3 premières colonnes de la troisième feuille de chaque fichier, mais peu importe) par l'intermédiaire d'une macro. Ne connaissant pas a priori le nom de ces deux fichiers, je demande à l'utilisateur de les choisir :
(Au passage, si vous connaissez plus pratique, je suis preneur.)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 Classeur1 = Application.GetOpenFilename("Classeurs Excel,*.xls") If Classeur1 = False Then Exit Sub Classeur2 = Application.GetOpenFilename("Classeurs Excel,*.xls") If Classeur2 = False Then Exit Sub
J'aimerais passer ces noms de fichiers, que je ne connais pas, en "argument" à la méthode Consolidate.
Ces deux noms sont stockés dans deux variables : "Classeur1" et "Classeur2".
"Classeur1" et "Classeur2" contiennent le chemin absolu (U:\MonChemin\Fichier1]), et pas le chemin relatif (Fichier1). J'aimerais que ce soit le cas, pour que, dans le bout de code suivant, les variables "Classeur1" et "Classeur2" soient interprétées, et remplacées par le nom de fichier qui correspond :
(Et d'ailleurs, même si mes variables contiennent des chemins relatifs, est-ce que cette syntaxe va fonctionner ?)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 Workbooks.Open fileName:= _ "U:\MonChemin\Synth.xls" '(C'est le fichier de synthèse dans le quel je veux faire ma consolidation.) Selection.Consolidate Sources:=Array( _ "'U:\MonChemin\[Classeur1]Feuil3'!A:C" _ , _ "'U:\MonChemin\[Classeur2]Feuil3'!A:C" _ ), Function:=xlSum, TopRow:=True, LeftColumn:=True, CreateLinks:=False
Et si vous avez plus simple pour consolider deux fichiers dont le nom est inconnu a priori, je suis preneur aussi.
N'hésitez pas à me poser des questions si vous ne comprenez pas.
Merci d'avance pour vos réponses, et bon courage.
Partager