Scinder un fichier excel en plusieurs onglets
Tatoon22
-
yg_be Messages postés 24281 Statut Contributeur -
yg_be Messages postés 24281 Statut Contributeur -
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
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:
- Diviser une feuille excel en plusieurs pages
- Feuille de score belote excel - Forum Excel
- Liste déroulante excel - Guide
- Feuille de pointage excel - Télécharger - Tableur
- Formule moyenne excel plusieurs colonnes - Guide
- Diviser une photo en 3 instagram - Guide
7 réponses
Bonjour,
Par VBA, tu peux utiliser ce code :
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...
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...
Bonjour, cela ne fonctionne pas chez moi, j'ai ce message d'erreur
Erreur d'exécution "9"
L'indice n'appartient pas à la sélection
bonjour,
à quelle ligne?