Macro pour création de X classeurs à partir de X feuilles

testeuryann

XLDnaute Nouveau
Bonsoir à tous,

J'espère ne pas être passé à côté d'un sujet traitant déjà de ce problème, je vous le soumets :

Soit un fichier excel A contenant X feuilles, je souhaiterais mettre en place une macro permettant d'extraire chacune des X feuilles du fichier A vers X fichiers composés d'une des feuilles du fichier A original.

Je précise qu'il faudrait également que chaque nouveau fichier ainsi généré soit renommé avec le nom de la feuille du fichier A qui le constitue.

Je ne suis pas très expérimenté en macro, j'ai essayé de faire ce que je pouvais, mais sans succès jusqu'à maintenant...

Merci à vous pour l'animation du forum en général et pour le coup de pouce sur mon problème en particuliers...

Yann.
 

Gardien de phare

XLDnaute Accro
Re : Macro pour création de X classeurs à partir de X feuilles

Bonjour,

Si tu nous avais mis un petit exemple de ce que tu as déjà fait, ce serait sans doute plus facile de comprendre ce que tu veux ! Pour joindre un classeur, aller dans "Mode avancé" et "pièces jointes". Évidemment, supprimes de ton classeur toutes les données confidentielles ou personnelles et remplaces les par des données fictives.

Ca peut aider aussi que tu dises avec quelles versions d'Excel tes classeurs doivent être compatibles.

--
François L
 

camarchepas

XLDnaute Barbatruc
Re : Macro pour création de X classeurs à partir de X feuilles

Bonjour ,

Une possibilité sous forme de procédure.

Le fichier à traiter devra être ouvert avant l'appel de cette fonction

L'appel de celle ci en vba :

coupefichier "MonFichier.xlsm", "c:\diffusion\"


Code:
Sub CoupeFichier(NomFiche As String, Chemin As String)
'Sauvegarde chaque onglets dans un fichier du même nom que l'onglet

Dim Onglet As Worksheet
  'Parcours l'ensemble des onglets du classeur NomFiche
  For Each Onglet In Workbooks(NomFiche).Worksheets
    Workbooks(NomFiche).Worksheets(Onglet.Name).Copy
    'Supprime les messages : Fichier déjà existant
    Application.DisplayAlerts = False
      ActiveWorkbook.SaveAs Filename:=Chemin & Onglet.Name & ".xlsx", FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
     Application.DisplayAlerts = True
    ActiveWorkbook.Close False
  Next
End Sub
 

testeuryann

XLDnaute Nouveau
Re : Macro pour création de X classeurs à partir de X feuilles

Bonsoir,

Navré pour la question idiote, mais je ne sais pas trop comment tester ce code et où l'insérer... Si tu peux m'aiguiller, j'ai créer un bouton et lui ai affecté une macro contenant le code que tu m'as donné, mais j'ai certainement dû oublier quelque chose, ça ne fonctionne pas (je ne sais pas quoi faire de "L'appel de celle ci en vba : coupefichier "MonFichier.xlsm", "c:\diffusion\"."

Je précise que j'utilise Excel 2010.

Merci d'avance.
 

Pièces jointes

  • Essai.xlsm
    17.7 KB · Affichages: 63
  • Essai.xlsm
    17.7 KB · Affichages: 63
  • Essai.xlsm
    17.7 KB · Affichages: 63

camarchepas

XLDnaute Barbatruc
Re : Macro pour création de X classeurs à partir de X feuilles

Bonjour,

Voici donc la macro montée dans le classeur et actionnée par un bouton.

ATTENTION:

cette partie du code est à adaptée en fonction du classeur à 'diviser ' et du chemin dans lequel l'on veut récupérer les fichiers Excel.

Avant d'essayer le code vérifies bien la présence du dossier c:\temp sur ton disque dur

CoupeFichier Nom du fichier à couper, Chemin du dossier destinataire:

Ex :

Code:
Sub Bouton1_Cliquer()
CoupeFichier "Essai1.xlsm", "c:\Temp\"
End Sub
 

Pièces jointes

  • Essai1.xlsm
    19.9 KB · Affichages: 77
  • Essai1.xlsm
    19.9 KB · Affichages: 77
  • Essai1.xlsm
    19.9 KB · Affichages: 73

Discussions similaires

Réponses
8
Affichages
380

Statistiques des forums

Discussions
312 206
Messages
2 086 219
Membres
103 158
dernier inscrit
laufin