Bonjour à tous,
j'ai un macro qui me permet de fusionner plusieurs classeurs différents ayant exactement les même onglet.
le soucis ce que la fusionn se fait en cumulant les onglets au lieu de fusionner
Exemple
alorsque je veux un fichier final sous la forme
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 Classeur1(onglet1, onglet2, onglet3) classuer2(onglet1, onglet2, onglet3) classuer3(onglet1, onglet2, onglet3) classeufinal(onglet1,onglet1(1),onglet1(2),onglet1(3) onglet2(1),onglet2(2),onglet2(3) )
classuerfinal(onglet1, onglet2, onglet3) avec les données des classeurs 1,2,3 fusionnés.
voici mon code
merci de l'aide que vous pouvez m'apporter
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 Sub ConvertirFichiersEnFeuilles() On Error GoTo gesterreur Dim VarListeFichiers As Variant Dim VarFichier As Variant Dim WkClasseur As Workbook Dim WkFinal As Workbook Dim WsFeuille As Worksheet VarListeFichiers = Application.GetOpenFilename(filefilter:="Classeurs eXceL,*.xls", Title:="Choisissez les Classeurs à récupérer", MultiSelect:=True) If VarType(VarListeFichiers) = vbBoolean Then MsgBox "Abandon !": Exit Sub 'pour identifier le bouton annuler Set WkFinal = Workbooks.Add 'générer le classeur final For Each VarFichier In VarListeFichiers Set WkClasseur = Workbooks.Open(Filename:=VarFichier) For Each WsFeuille In WkClasseur.Worksheets WsFeuille.Move before:=WkFinal.Worksheets(1) Next WsFeuille WkClasseur.Close savechanges:=False Next VarFichier Exit Sub gesterreur: 'classeur vide If Err.Number = -2147221080 Then Resume Next End If End Sub
Partager