Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Scinder feuille en classeur

  • Initiateur de la discussion Initiateur de la discussion Guitl
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

G

Guitl

Guest
Bonjour,

j'ai un fichier avec des colonnes regroupant des salariés par manager, direction et service.

Je souhaite, à partir de cette feuille créer autant de fichier que de managers présents.

Ainsi par exemple pour le fichier ci joint, je devrai au final avoir 3 classeurs : pour le manager AF 8 lignes.

Enfin, la macro enregistrerai automatiquement le nom du classeur en reprenant les éléments "campagne EP + cellule B1 + nom du manager".

Merci d'avance !

Cdl

Guitl
 

Pièces jointes

Re : Scinder feuille en classeur

Bonjour à tous



Avec un code glané sur le net
Code:
Sub DistributeRowsToNewWBS()
'auteur Norie
Dim wbNew As Workbook
Dim wsData As Worksheet
Dim wsCrit As Worksheet
Dim wsNew As Worksheet
Dim rngCrit As Range
Dim LastRow As Long
    
    Set wsData = Worksheets("Feuil1") ' name of worksheet with the data
    Set wsCrit = Worksheets.Add
    
    LastRow = wsData.Range("A" & Rows.Count).End(xlUp).Row
    
    ' column H has the criteria
    wsData.Range("G1:G" & LastRow).AdvancedFilter Action:=xlFilterCopy, CopyToRange:=wsCrit.Range("H1"), Unique:=True
    
    Set rngCrit = wsCrit.Range("H2")
    While rngCrit.Value <> ""
        Set wsNew = Worksheets.Add
        ' change E to reflect columns to copy
        wsData.Range("A1:G" & LastRow).AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=rngCrit.Offset(-1).Resize(2), CopyToRange:=wsNew.Range("A1"), Unique:=True
        wsNew.Name = rngCrit
        wsNew.Copy
        Set wbNew = ActiveWorkbook
        ' saves new workbook in path of existing workbook
        wbNew.SaveAs ThisWorkbook.Path & "\" & rngCrit & ".xls"
        wbNew.Close SaveChanges:=True
        Application.DisplayAlerts = False
        wsNew.Delete
        rngCrit.EntireRow.Delete
        Set rngCrit = wsCrit.Range("H2")
    Wend
    
    wsCrit.Delete
    Application.DisplayAlerts = True
    
End Sub
 
Re : Scinder feuille en classeur

Merci merci !!!

je devrai m'en sortir. Mon objectif va d'être de comprendre les codes et de les adapter à mon classeur final, mais ca devrait marcher...

Merci de votre réactivité !
 
Re : Scinder feuille en classeur

Yop !

merci pour le travail, j'ai adapté le code de RENAUDER, plus facile à comprendre pour moi...

Seul petit bug, est que j'ai des listes de validation et qu'il ne me le prend pas dans les fichier crées.

Ci joint mon fichier avec le nouveau code, et en colonne AB AC AD ma liste de validation (je sais je n'avais pas mis cette contrainte dans le premier exemple...)

Merci d'avance !

Ci joint le fichier avec colonne définitive...

Guitl
 

Pièces jointes

Re : Scinder feuille en classeur

Ben si... normalement dans les cellulles en grisé (mise en forme conditionnelle) en
colonne K correspond la liste de choix "obj" avec 4 possibilités
colonne L correspond liste de choix "cpt" avec 3 poss
colonne M correspond liste de choix "cont" avec 4 poss.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
4
Affichages
950
C
Réponses
8
Affichages
1 K
L
Réponses
10
Affichages
2 K
S
Réponses
3
Affichages
1 K
Sassy
S
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…