Comment détacher des onglets en plusieurs fichiers
Résolu/Fermé
Nonnoo
Messages postés
25
Date d'inscription
lundi 14 mars 2016
Statut
Membre
Dernière intervention
9 juin 2016
-
15 mars 2016 à 15:04
Nonnoo Messages postés 25 Date d'inscription lundi 14 mars 2016 Statut Membre Dernière intervention 9 juin 2016 - 15 mars 2016 à 17:06
Nonnoo Messages postés 25 Date d'inscription lundi 14 mars 2016 Statut Membre Dernière intervention 9 juin 2016 - 15 mars 2016 à 17:06
A voir également:
- Découper un fichier excel en plusieurs fichiers
- Fichier rar - Guide
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
- Ouvrir un fichier .bin - Guide
- Renommer plusieurs fichiers en même temps - Guide
1 réponse
jordane45
Messages postés
38393
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
24 janvier 2025
4 731
15 mars 2016 à 15:56
15 mars 2016 à 15:56
Bonjour,
Oui.
Utilises ton enregistreur de macro.
Effectue à la main, un clic-doit sur un onglet, puis selectionne déplacer ou copier , choisi : "nouveau classeur" ... et le tour est joué.
A partir de ce code, tu n'as plus qu'à le mettre dans une BOUCLE sur tes différents ONGLETS pour réaliser ce que tu souhaites.
Là il te faut une boucle qui va chercher les classeurs ( via la méthode Workbooks.Open ), puis récupère l'onglet de chaque classeur pour venir le mettre dans ton classeur principale (tu peux utiliser la même méthode que pour le cas N°1 )
Pensez-vous que c'est possible ?
Oui.
dans un premier temps, une macro qui puisse me détacher chaque onglet
Utilises ton enregistreur de macro.
Effectue à la main, un clic-doit sur un onglet, puis selectionne déplacer ou copier , choisi : "nouveau classeur" ... et le tour est joué.
A partir de ce code, tu n'as plus qu'à le mettre dans une BOUCLE sur tes différents ONGLETS pour réaliser ce que tu souhaites.
dans un deuxième temps, une deuxième macro qui rassemblerait tout ces fichiers
Là il te faut une boucle qui va chercher les classeurs ( via la méthode Workbooks.Open ), puis récupère l'onglet de chaque classeur pour venir le mettre dans ton classeur principale (tu peux utiliser la même méthode que pour le cas N°1 )
15 mars 2016 à 17:06
J'ai suivi ton conseil j'ai réussi à m'en sortir pour diviser mon fichier en créant :
- un dossier nommé "Fichiers à découper " où j'ai mis mon fichier excel à découper
- un dossier "Fichiers SX" où je voudrais que mes fichiers divisés soient.
Sur un autre fichier excel j'ai créer ma macro découpage avec un bouton, voici le code :
Sub Découpage()
' Découpage Macro
Dim FichierMacro
Dim FichierCible
Dim Chemin As String
Dim FichierSource As String
Application.ScreenUpdating = False
Chemin = ActiveWorkbook.Path
FichierMacro = ActiveWorkbook.Name
FichierSource = Dir(Chemin & "\Fichiers à découper\*.xls")
Workbooks.Open (Chemin & "\Fichiers à découper\" & FichierSource), UpdateLinks:=False
Workbooks(FichierMacro).Activate
Workbooks(FichierSource).Activate
Sheets("GLOBAL").Select
Application.DisplayAlerts = False
ChDir ActiveWorkbook.Path
For Each s In ActiveWorkbook.Sheets
s.Copy
ActiveWorkbook.SaveAs Filename:=s.Name
ActiveWorkbook.Close
Next s
'enregistre le fichier sous
ActiveWorkbook.CheckCompatibility = False
ActiveWorkbook.SaveAs Filename:= _
Chemin & "\Fichiers SX\" & "" _
, FileFormat:=xlExcel8, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
FichierCible = ActiveWorkbook.Name
End Sub
Cependant avec ce code, mes fichiers découpés ne vont pas dans le dossier "Fichiers SX" comme je le voudrai mais vont dans le dossier "Fichiers à découper".
Je ne sais pas ce qui cloche... Auriez-vous une idée ?
Merci par avance.
Nono