Scinder un fichier excel en plusieurs onglets

Fermé
Tatoon22 - 15 avril 2010 à 14:13
harrycosek
Messages postés
14
Date d'inscription
mercredi 3 décembre 2008
Statut
Membre
Dernière intervention
7 mars 2017
- 7 mars 2017 à 11:50
Bonjour !

Je cherche une macro qui permettrait de scinder un fichier excel en autant d'onglets qu'il y a de valeurs pour la variable Dossier Groupe.

Mes données se présentent comme ça :

N° Compagnie Nom Compagnie Dossier Commercial Dossier Groupe N° Client
5312 CCPMA PREVOYANCE 35308 4262 933615
5312 CCPMA PREVOYANCE 43873 4264 1001564
5312 CCPMA PREVOYANCE 4259 4267 900803
5312 CCPMA PREVOYANCE 11910 4262 900464
5312 CCPMA PREVOYANCE 35308 4263 933615
5312 CCPMA PREVOYANCE 32581 4264 932300
...
...

Merci pour votre aide !
Gaëtan

A voir également:

7 réponses

pijaku
Messages postés
12257
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
3 septembre 2021
2 695
16 avril 2010 à 09:34
Bonjour,
Par VBA, tu peux utiliser ce code :
Sub creation_onglets()
Dim Ws As Worksheet
Dim trouve As Boolean
Dim contenu As String
Dim lig, derlig As Integer
With Sheets("Feuil1") 'à adapter Feuil1 = feuille ou sont vos données
derlig = .Range("E65536").End(xlUp).Row 'à adapter, E = colonne "Dossier groupe"
For lig = 2 To derlig
contenu = .Cells(lig, 5).Value 'à adapter 5 = 5ème col cf E ci dessus
For Each Ws In ThisWorkbook.Worksheets
trouve = False
        If StrComp(Ws.Name, contenu, vbTextCompare) = 0 Then
            trouve = True
            Exit For
        End If
Next Ws
If trouve = True Then
        .Rows(lig).Copy Sheets(contenu).Range("A65536").End(xlUp).Offset(1, 0)
    Else
        Sheets.Add
        ActiveSheet.Name = contenu
        .Rows(lig).Copy Sheets(contenu).Range("A65536").End(xlUp).Offset(1, 0)
End If
Next lig
End With
End Sub

Les commentaires (textes apparaissant en vert sous VBA) sont à adapter à vos besoins.
A insérer dans un module : sous la feuille Excel taper ALT+F11 puis Insertion/Module. Copier coller ce code dans la fenêtre Visual Basic, fermer visual basic. Pour la "lancer" , taper ALT+F8 dans la feuille Excel, choisir "creation_onglets" et cliquer sur exécuter...
3
Extra! Merci pour cette solution qui vient de m'aider..
0
harrycosek
Messages postés
14
Date d'inscription
mercredi 3 décembre 2008
Statut
Membre
Dernière intervention
7 mars 2017

7 mars 2017 à 11:50
Super !
0