Bonjour à tous,
Après avoir parcouru le forum, je n'ai pas trouvé la solution qui répondait pleinement à ma question.
Je souhaite qu'une base de données clients Excel soit découpée en autant d'onglets qu'il y a de références sur la colonne A.
J'ai assemblé différents bouts de VBA qui me permettent presque de réaliser ce que je souhaite faire, mais je suis confronté à un bug :
La première ligne qui comprend les variables n'est pas reprise dans chaque onglet.
Autre question : peut-on dupliquer la mise en page de l'onglet principal (base de données) et idéalement la partie qui concerne le verrouillage de certaines colonnes ?
Voici le code dans son état actuel :
Sub creations_onglets()
Dim Ws As Worksheet
Dim trouve As Boolean
Dim contenu As String
Dim lig, derlig As Integer
With Sheets("SQL") 'à adapter Feuil1 = feuille ou sont situées les données à découper
derlig = .Range("A8000").End(xlUp).Row
For lig = 2 To derlig 'Indique que les données commencent dès la seconde ligne
contenu = .Cells(lig, 1).Value 'Indique que les données à découper sont situées sur la première colonne
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("A8000").End(xlUp).Offset(1, 0)
Else
Sheets.Add
ActiveSheet.Name = contenu
.Rows(lig).Copy Sheets(contenu).Range("A8000").End(xlUp).Offset(1, 0)
End If
Next lig
End With
End Sub
Ci-joint le fichier sur lequel je réalise mes tests.
Merci d'avance à tous pour votre aide !