Bonjour
J'avais déjà posté ici afin de pouvoir générer plusieurs fichiers à partir d'un seul.
Maintenant je cherche une solution pour mettre à jour mon fichier source et donc les refusionner.
J'ai trouvé les macros suivantes mais ça ne va pas
Pour récupérer tous les fichiers dans un seul classeur :
	
	
	
	
	
		
Mais mes fichiers sont créés dans un nouveau classeur et donc les macros doivent être recopiées ...
Bref ensuite pour fusionner les fichiers en un seul :
	
	
	
	
	
		
et enfin pour masquer les feuilles sauf la dernière que je viens de créer
	
	
	
	
	
		
Tout ça n'est pas très "propre" et surtout je ne peux pas lancer les macros automatiquement car après la première étape les informations sont dans un nouveau fichier.
Avez vous une idée ? (Vous l'aurez compris ... je n'y comprends rien en vba...)
Je dois absolument garder la mise en forme de mes fichiers et dans l'idéal garder ma première ligne (uniquement 1 fois sur la première ligne) et enfin si possible, que le résultat soit filtrer.
Le but étant au final de recopier ce tableau fusionné dans mon tableau source.
Tout mes fichiers ont la même structure puisque ils sont tous extraits d'un fichier source (ensuite mis à jour par chaque collaborateur et renvoyé à moi même pour la mise à jour globale).
Merci beaucoup
	
		
			
		
		
	
				
			J'avais déjà posté ici afin de pouvoir générer plusieurs fichiers à partir d'un seul.
Maintenant je cherche une solution pour mettre à jour mon fichier source et donc les refusionner.
J'ai trouvé les macros suivantes mais ça ne va pas
Pour récupérer tous les fichiers dans un seul classeur :
		Code:
	
	
	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,*.xlsx", 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))
         
         Set 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
	Mais mes fichiers sont créés dans un nouveau classeur et donc les macros doivent être recopiées ...
Bref ensuite pour fusionner les fichiers en un seul :
		Code:
	
	
	Sub RegroupeFeuilles() 'dans "Feuil1"
    Dim Lg&, Sh As Worksheet, f As Worksheet
            Set f = Sheets("Feuil1")
        f.Range("a2:AE" & f.[a65000].End(xlUp).Row).ClearContents    'efface Récap
       
        For Each Sh In Worksheets
            If Sh.Name <> f.Name And Sh.Name <> "bibi" Then         'feuilles à ne pas traiter
               Lg = Sh.Range("a" & Rows.Count).End(xlUp).Row
                Sh.Range("a2:AE" & Lg).Copy Destination:= _
                f.Range("a" & Rows.Count).End(xlUp)(2)
            End If
        Next
    End Sub
	et enfin pour masquer les feuilles sauf la dernière que je viens de créer
		Code:
	
	
	Sub retirer()
    Dim ws As Worksheet
    For Each ws In Worksheets
        Application.DisplayAlerts = False
        If ws.Name <> "Feuil1" Then ws.Delete
    Next
    Application.DisplayAlerts = True
End Sub
	Tout ça n'est pas très "propre" et surtout je ne peux pas lancer les macros automatiquement car après la première étape les informations sont dans un nouveau fichier.
Avez vous une idée ? (Vous l'aurez compris ... je n'y comprends rien en vba...)
Je dois absolument garder la mise en forme de mes fichiers et dans l'idéal garder ma première ligne (uniquement 1 fois sur la première ligne) et enfin si possible, que le résultat soit filtrer.
Le but étant au final de recopier ce tableau fusionné dans mon tableau source.
Tout mes fichiers ont la même structure puisque ils sont tous extraits d'un fichier source (ensuite mis à jour par chaque collaborateur et renvoyé à moi même pour la mise à jour globale).
Merci beaucoup
			
				Dernière édition: