Copie de feuilles sur autre classeur que celui lançant la macro
Résolu
HUGO BASS
Messages postés
20
Date d'inscription
Statut
Membre
Dernière intervention
-
HUGO BASS Messages postés 20 Date d'inscription Statut Membre Dernière intervention -
HUGO BASS Messages postés 20 Date d'inscription Statut Membre Dernière intervention -
Bonjour à toutes et tous,
Avec l'aide des internautes et des forums j'ai pu écrire la procédure ci après qui fonctionne bien.
Ce code fusionne plusieurs classeurs xlsb en un seul (les feuilles de chacun des fichiers sources sont copiées dans autant de feuilles dans le fichier compilé final, les feuilles sont nommées avec le non du fichier original sans son extension plus un numéro de compteur dans le cas ou il y'aurait plusieurs feuilles).
Je voudrais encore améliorer ce code en faisant en sorte que les feuilles soient copiées non pas sur le classeur (le nommé maitre dans le code) d'ou est lancée la macro mais sur un nouveau classeur vierge (j'ai essayé sans succès en utilisant plusieurs syntaxe d'insérer l'instruction Wookbooks.Add).
Je sollicite donc votre aide.
Merci
Cordialement
Hugues
ps : Même question également présente sur un autre FORUM sans résolution au moment ou j'écris ce post.
Avec l'aide des internautes et des forums j'ai pu écrire la procédure ci après qui fonctionne bien.
Ce code fusionne plusieurs classeurs xlsb en un seul (les feuilles de chacun des fichiers sources sont copiées dans autant de feuilles dans le fichier compilé final, les feuilles sont nommées avec le non du fichier original sans son extension plus un numéro de compteur dans le cas ou il y'aurait plusieurs feuilles).
Je voudrais encore améliorer ce code en faisant en sorte que les feuilles soient copiées non pas sur le classeur (le nommé maitre dans le code) d'ou est lancée la macro mais sur un nouveau classeur vierge (j'ai essayé sans succès en utilisant plusieurs syntaxe d'insérer l'instruction Wookbooks.Add).
Je sollicite donc votre aide.
Merci
Cordialement
Hugues
ps : Même question également présente sur un autre FORUM sans résolution au moment ou j'écris ce post.
Sub Fusion()
Dim Maitre As Workbook
Dim Compteur As Integer
Dim Nf As String
Dim K As Integer
Application.ScreenUpdating = False
ChDir ActiveWorkbook.Path
Set Maitre = ActiveWorkbook
Nf = Dir("*.xlsb")
Do While Nf <> ""
If Nf <> Maitre.Name Then
With Workbooks.Open(Filename:=Nf)
For K = 1 To .Sheets.Count
.Sheets(K).Copy after:=Maitre.Sheets(Maitre.Sheets.Count)
ActiveSheet.Name = Replace(Nf, ".xlsb", "") & " " & K
Next K
.Close False
End With
End If
Nf = Dir
Loop
End Sub
A voir également:
- Copier plusieurs feuilles excel dans un autre classeur vba
- Liste déroulante excel - Guide
- Formule moyenne excel plusieurs colonnes - Guide
- Word et excel gratuit - Guide
- Regrouper plusieurs feuilles excel en une seule - Guide
- Dessin sms copier coller zizi ✓ - Forum Réseaux sociaux
3 réponses
Bonjour,
Petite recherche google : "vba créé un fichier excel"
Petit lien de 2007 comme premier résultat
https://forums.commentcamarche.net/forum/affich-4314289-vba-creation-d-un-nouveau-classeur-excel
Bonne lecture.
(Plutôt que l'approprier du code que je n'ai pas écrit, je donne le lien. On trouve toujours presque tout avec Google, il suffit de mettre les bons mots clés généralement avec VBA au début)
Petite recherche google : "vba créé un fichier excel"
Petit lien de 2007 comme premier résultat
https://forums.commentcamarche.net/forum/affich-4314289-vba-creation-d-un-nouveau-classeur-excel
Bonne lecture.
(Plutôt que l'approprier du code que je n'ai pas écrit, je donne le lien. On trouve toujours presque tout avec Google, il suffit de mettre les bons mots clés généralement avec VBA au début)