Diviser un fichier excel en plusieurs fichiers de 10 feuille
Résolu
hmcirta
Messages postés
239
Date d'inscription
Statut
Membre
Dernière intervention
-
Le Pingou Messages postés 12249 Date d'inscription Statut Contributeur Dernière intervention -
Le Pingou Messages postés 12249 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
J'ai un fichier qui contient un grand nombres de feuilles, et je voudrais le diviser en fichiers de 10 ou 20 ou ... feuilles.
Un code VBA sera plus pratique car le fichier contient plus de 100 feuilles, et j'ai plusieurs fichiers à diviser.
J'ai écrit ce code avec mes modestes connaissance en VBA, mais il sépare chaque feuille dans un fichier.
En enregistrant une macro j'obtiens ce-ci, mais je voudrais bien définir le nombre de feuilles et non pas leurs noms.
Ne sachant pas manipuler les "Array" je fais appel à vous pour me donner un coup demain
Le nombre de feuilles à copier peut tout aussi bien être un nombre de feuilles sélectionnées au lieu de demander par InputBox la 1ere et la dernière feuille à copier.
Merci de votre habituelle aide.
J'ai un fichier qui contient un grand nombres de feuilles, et je voudrais le diviser en fichiers de 10 ou 20 ou ... feuilles.
Un code VBA sera plus pratique car le fichier contient plus de 100 feuilles, et j'ai plusieurs fichiers à diviser.
J'ai écrit ce code avec mes modestes connaissance en VBA, mais il sépare chaque feuille dans un fichier.
Sub Copier_Feuilles() Dim Début As Integer Dim Fin As Integer Début = InputBox("Prémière feuille à renommer") Fin = InputBox("Dernière feuille à renommer -- VALEUR MAX = " & Worksheets.Count) Dim i For i = Début To Fin ActiveWorkbook.Sheets(i).Copy ChDir "C:\Users\hm\Desktop\Mes Petits Fichiers" ActiveWorkbook.SaveAs Filename:= _ "C:\Users\hm\Desktop\Mes Petits Fichiers\Classeur1.xlsx", FileFormat:= _ xlOpenXMLWorkbook, CreateBackup:=False ActiveWindow.Close Next i
En enregistrant une macro j'obtiens ce-ci, mais je voudrais bien définir le nombre de feuilles et non pas leurs noms.
Sub Macro1() ' ' Macro1 Macro ' ' Sheets(Array("DMR_001", "DMR_002", "DMR_003", "DMR_004")).Select Sheets("DMR_004").Activate Sheets(Array("DMR_001", "DMR_002", "DMR_003", "DMR_004")).Copy ChDir "C:\Users\hm\Desktop\Mes Petits Fichiers\" ActiveWorkbook.SaveAs Filename:= _ "C:\Users\hm\Desktop\Mes Petits Fichiers\Classeur1.xlsx", FileFormat:= _ xlOpenXMLWorkbook, CreateBackup:=False ActiveWindow.Close Sheets(Array("DMR_005", "DMR_006", "DMR_007", "DMR_008")).Select Sheets("DMR_008").Activate Sheets(Array("DMR_005", "DMR_006", "DMR_007", "DMR_008")).Copy ActiveWorkbook.SaveAs Filename:= _ "C:\Users\hm\Desktop\Mes Petits Fichiers\Classeur2.xlsx", FileFormat:= _ xlOpenXMLWorkbook, CreateBackup:=False ActiveWindow.Close End Sub
Ne sachant pas manipuler les "Array" je fais appel à vous pour me donner un coup demain
Le nombre de feuilles à copier peut tout aussi bien être un nombre de feuilles sélectionnées au lieu de demander par InputBox la 1ere et la dernière feuille à copier.
Merci de votre habituelle aide.
Configuration: Windows / Firefox 97.0
A voir également:
- Découper un fichier excel en plusieurs fichiers
- Fichier bin - Guide
- Fichier epub - Guide
- Comment réduire la taille d'un fichier - Guide
- Fichier rar - Guide
- Fichier .dat - Guide
8 réponses
Bonjour,
Ma proposition, vous devrez sélectionner le classeur à diviser, pour essai prendre dans le dossier [hmcrita_ccm] classeur [hmcirta_classeur_global.xlsx], par la suite le classeur de votre choix.
Les nouveaux classeurs sont enregistrés dans le dossier [hmcrita_ccm].
Ma proposition : https://www.cjoint.com/c/LBskbxuKLkn
Ma proposition, vous devrez sélectionner le classeur à diviser, pour essai prendre dans le dossier [hmcrita_ccm] classeur [hmcirta_classeur_global.xlsx], par la suite le classeur de votre choix.
Les nouveaux classeurs sont enregistrés dans le dossier [hmcrita_ccm].
Ma proposition : https://www.cjoint.com/c/LBskbxuKLkn
Bonjour,
Est que le principe est bien comme suit, exemple: j'ai un classeur de 50 feuilles et je veux réaliser 2 classeurs avec 20 feuilles chacun et le dernier avec 10 feuilles...?
Est que le principe est bien comme suit, exemple: j'ai un classeur de 50 feuilles et je veux réaliser 2 classeurs avec 20 feuilles chacun et le dernier avec 10 feuilles...?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
L' opération ne devant être effectuée qu' une seule fois, il n' est pas nécessaire de créer une Macro en VBA;
En manuel faire 10 copies de votre fichier et les renommer.
Dans le premier dossier crée supprimer les feuilles de 11 à 1xx,, dans le deuxième fichier supprimer les feuilles de 1 à 10 et de 21 à 1xxx,, faire de même dans les autres feuilles en laissant à chaque fois 10 lignes différentes.
Cdt,
JB
En manuel faire 10 copies de votre fichier et les renommer.
Dans le premier dossier crée supprimer les feuilles de 11 à 1xx,, dans le deuxième fichier supprimer les feuilles de 1 à 10 et de 21 à 1xxx,, faire de même dans les autres feuilles en laissant à chaque fois 10 lignes différentes.
Cdt,
JB
OK le Pingou. Merci d'avoir pris la peine de m'aider.
JB22 : Merci de ta réponse. Oui sans doute que ça peut se faire de cette manière ou une autre similaire, mais comme tu l'as dit "L' opération ne devant être effectuée qu' une seule fois", alors que pour moi j'ai plusieurs fichiers à diviser (et j'ai déjà commencé à le faire
JB22 : Merci de ta réponse. Oui sans doute que ça peut se faire de cette manière ou une autre similaire, mais comme tu l'as dit "L' opération ne devant être effectuée qu' une seule fois", alors que pour moi j'ai plusieurs fichiers à diviser (et j'ai déjà commencé à le faire