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
Bonjour,

J'ai un fichier excel avec plusieurs onglets nommés 01;02;03... et un onglet global qui récupère les chiffres de chaque onglet.
Chaque onglet est destiné à une personne différente qui est censé le remplir chaque semaine.

Je souhaiterai, dans un premier temps, une macro qui puisse me détacher chaque onglet pour que chaque personne ait son propre fichier sans regarder celui des autres. Une sorte de découpage de fichier.

Et dans un deuxième temps, une deuxième macro qui rassemblerait tout ces fichiers (qui auront été au préalable rempli), et qui viendrait coller les fichiers les uns à la suite des autres dans des onglets, tout en suivant leur ordre, 01;02;03... pour que mon onglet global puisse calculer le montant total. Un recollage des onglets dans un même fichier.

Pensez-vous que c'est possible ?
Merci d'avance pour votre aide.

Nono
A voir également:

1 réponse

jordane45 Messages postés 38136 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 16 avril 2024 4 649
15 mars 2016 à 15:56
Bonjour,

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 )

1
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
Merci beaucoup Jordane,
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
0