Salut tout le monde!
J'ai un onglet appelé wsRecap (de type Worksheet) qui contient des centaines de lignes de valeurs (nombres ou autres). Je veux qu'à chaque fois qu'une cellule de la colonne B contient une nouvelle valeur, un onglet se crée et prenne le nom de la cellule en question.
J'ai donc fait le code ci-dessous:
Private Sub CommandButton1_Click()
Dim wsRecap As Worksheet
I = 2
Do
If Not IsWorksheet(wsRecap.Cells("B" & I)) Then 'si un onglet pour le fournisseur n'existe pas encore
Set NomOnglet = Sheets.Add(After:=Sheets(Sheets.Count)) 'ajout d'un onglet après tous les autres onglets
NomOnglet.Name = wsRecap.Cells("B" & I).Value 'le nom de l'onglet prend la valeur de la cellule fournisseur
wsRecap.Rows("I:I").Copy NomOnglet.Rows(2) 'ligne de la commande à rajouter
Else 'si un onglet pour le fournisseur existe déjà
NomOnglet.Activate
If
'BLABLABLA
End If
End If
Loop While Not IsEmpty(wsRecap.Cells("B" & I))
End Sub
Public Function IsWorksheet(strName As String) As Boolean
Dim objWorksheet As Worksheet
IsWorksheet = False
For Each objWorksheet In ThisWorkbook.Sheets
If objWorksheet.Name = strName Then
IsWorksheet = True
Exit Function
End If
Next
End Function
Malheureusement ça ne marche pas. Qu'en pensez-vous?
Je vous remercie par avance bien évidemment !
Klaradoc