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   -
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.

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:

8 réponses

Le Pingou Messages postés 12249 Date d'inscription   Statut Contributeur Dernière intervention   1 458
 
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

1
Le Pingou Messages postés 12249 Date d'inscription   Statut Contributeur Dernière intervention   1 458
 
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...?
0
hmcirta Messages postés 239 Date d'inscription   Statut Membre Dernière intervention   21
 
oui c'est exactement ca, avec la possibilité de choisir le nombre de feuilles des premiers fichiers
0
Le Pingou Messages postés 12249 Date d'inscription   Statut Contributeur Dernière intervention   1 458
 
Bonjour,
Je vais regarder ce qui est faisable, doit construire un exemple...Patience.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
JB22
 
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
0
hmcirta Messages postés 239 Date d'inscription   Statut Membre Dernière intervention   21
 
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
0
hmcirta Messages postés 239 Date d'inscription   Statut Membre Dernière intervention   21
 
C'est parfait !...MERCIII Le Pingou !!
Ca va me faire gagner beaucoup de temps.

Merci encore
0
JB22
 
On ne connait pas la solution proposée par Le Pingou..
0
Le Pingou Messages postés 12249 Date d'inscription   Statut Contributeur Dernière intervention   1 458
 
Bonjour JB22,
Le bonjour ne se voit pas non plus et pour la proposition il suffit de voir le poste 6 !
Salutations.
Le Pingou
0