Excel : faire un fichier par onglet [Résolu/Fermé]

Signaler
-
 Sirli -
Bonjour,

Tout d'abord ce forum est une vraie mine d'info, merci à tous.

J'ai un fichier excel 2003 qui comporte beaucoup d'onglets (plusieurs dizaines), et je voudrais séparer tous les onglets et obtenir un fichier par onglet. A la main, c'est faisable (clique droit sur l'onglet, copier vers nouveau classeur etc ...) mais c'est lourd quand il y a beaucoup d'onglets. La cerise sur le gâteau serait que chaque nouveau fichier porte le nom de l'onglet d'origine.

Est-ce que je suis claire ?
Si vous pouviez me donner des pistes dans les menus excel ou pour faire une macro, je serais ravie.

Merci d'avance.

8 réponses

Messages postés
6917
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
1 124
Bonjour,

Copie/Colle ça dans un module en passant par l'éditeur VB :

Sub saveOnglet()
Dim ws
Dim newWk As Workbook

    For Each ws In Worksheets
        Set newWk = Workbooks.Add(xlWBATWorksheet)
        ws.Copy newWk.Sheets(1)
        newWk.SaveAs (ws.Name & ".xls")
        newWk.Close
        Set newWk = Nothing
    Next ws

End Sub


Ensuite affecte un raccourci à la macro.

;o)
12
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 59569 internautes nous ont dit merci ce mois-ci

>
Messages postés
6917
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016

Bonjour,

Désolée de ne répondre que maintenant.
En fait, quand on poste un message, on peut le modifier pendant 60 minutes (je cherchais ce bouton-là) mais comme je ne suis pas inscrite, ce n'est pas possible.

Sinon, pour revenir à mon souci, excel râle, mais fait quand même le travail, donc on peut considérer comme le problème résolu!

Merci beaucoup !!! Je suis ravie.
C'est top! Merci ça fonctionne super bien!!!!
Messages postés
6
Date d'inscription
samedi 11 novembre 2006
Statut
Membre
Dernière intervention
7 mars 2018

Merci beaucoup, géniale
Merci beaucoup c'est génial ^^ J'étais sûr qu'une telle macro/fonction devait exister sur Excel.
Merci, exactement ce que je voulais faire (107 documents en 30 sec, au top)
Messages postés
13
Date d'inscription
samedi 2 mars 2013
Statut
Membre
Dernière intervention
3 mars 2013
4
Je suis aussi totalement débutant, mais ça, je sais faire ;)

1) une fois ouvert le fichier .xls, faire Alt-F11 pour ouvrir l'éditeur VB
2) click droit n'importe où dans la zone porject en haut à gauche, puis Insert ==> Module
3) copier/coller le code ci-dessus dans la partie droite, le sauver et fermer l'éditeur
4) pour l'exécuter, faire Alt-F8 depuis l'.xls, sléectionner la macro, et cliquer sur le bouton Run (j'ai la version anglaise)
5) pour associer 1 raccourci à cette macro, au lieu de run, cliquer sur option

bon courage
Messages postés
6917
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
1 124
Bonjour Amandine,

Si le fichier d'origine est celui qui contient la macro, il suffit de changer cette ligne :

newWk.SaveAs (ws.Name & ".xls")

Par :

newWk.SaveAs (Thisworkbook.path & "\" & ws.Name & ".xls")

;0)
Messages postés
16
Date d'inscription
mardi 5 novembre 2013
Statut
Membre
Dernière intervention
4 juillet 2014

Merci beaucoup Polux
Bonjour Polux,

Je souhaite faire la meme chose , avec comme condition que ce ne soit que les ognlets rouges qui soient sauvegarder

Pouvez vous m'apporter votre precieuse aide?
Nickel, merci beaucoup.

Génial, c'est exactement ce que je cherchais!
Je suis vraiment nul, je dois faire la même chose mais je ne sais juste pas ou mettre le codage... Est-ce possible de m'aider ?

Merci
Merci ,

J'ai tout réussi le seul défaut est que les feuille se sauvegarde dans mes documents mais bon, je les copie colle !
Messages postés
16
Date d'inscription
mardi 5 novembre 2013
Statut
Membre
Dernière intervention
4 juillet 2014

Je suis d'accord.. et j'aimerais pousser un peu.

Quelqu'un aurait une astuce pour enregistrer automatiquement "les fichiers onglets" au même endroit que le fichier d'origine ?
newWk.SaveAs (Thisworkbook.path & "\" & ws.Name & ".xls")
Messages postés
1
Date d'inscription
jeudi 16 janvier 2014
Statut
Membre
Dernière intervention
16 janvier 2014

parfait, merci beaucoup, très utile!
Messages postés
1
Date d'inscription
lundi 21 novembre 2016
Statut
Membre
Dernière intervention
21 novembre 2016

Bonjour,

Celà marche mais ouvre plusieurs fichiers Excel.

Comment faire pour convertir ces onglets onglets directement en PDF ?

Cdlt,

Loic