Bonjour, Je souhaite fusionner plusieurs fichiers Excel en un seul, pour cela ma première manip est de regrouper tout les fichiers excels (ils ne contiennent qu'une seule feuille) en un seul fichier excel avec plusieurs feuilles, puis je concatenerais toutes les feuilles. Donc voila mon code mon convertir les fichiers en feuilles, il bug au niveau du "WsFeuille = WkClasseur.Worksheets(1)", je ne comprend pas pourquoi, aidez moi svp. Merci.
Sub ConvertirFichiersEnFeuilles() On Error GoTo gesterreur Dim VarListeFichiers As Variant, VarFichier As Variant, WkClasseur As Workbook, WkFinal As Workbook, 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 Ctr = 1 To UBound(VarListeFichiers) MsgBox VarListeFichiers(Ctr)
Marsh Posté le 12-06-2006 à 10:07:02
Bonjour,
Je souhaite fusionner plusieurs fichiers Excel en un seul, pour cela ma première manip est de regrouper tout les fichiers excels (ils ne contiennent qu'une seule feuille) en un seul fichier excel avec plusieurs feuilles, puis je concatenerais toutes les feuilles.
Donc voila mon code mon convertir les fichiers en feuilles, il bug au niveau du "WsFeuille = WkClasseur.Worksheets(1)", je ne comprend pas pourquoi, aidez moi svp.
Merci.
Sub ConvertirFichiersEnFeuilles()
On Error GoTo gesterreur
Dim VarListeFichiers As Variant, VarFichier As Variant, WkClasseur As Workbook, WkFinal As Workbook, 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 Ctr = 1 To UBound(VarListeFichiers)
MsgBox VarListeFichiers(Ctr)
Set WkClasseur = Workbooks.Open(Filename:=VarListeFichiers(Ctr))
WsFeuille = WkClasseur.Worksheets(1)
WsFeuille.Move before:=WkFinal.Worksheets(1)
WkClasseur.Close savechanges:=False
Next
'For Each VarFichier In VarListeFichiers
'Next VarFichier
Exit Sub
gesterreur:
'classeur vide
If Err.Number = -2147221080 Then
Resume Next
End If
End Sub