Bonjour,
En fonction de votre dernier post, mettez ces deux codes dans un module (comme vous l'avez déjà fait suite à mot post de vendredi)
Sub Generer_feuille()
Dim i As Integer, dlg As Integer
Dim Nomfeuille
Application.ScreenUpdating = False
With Sheets("Infos voyageurs")
dlg = .Range("B" & .Rows.Count).End(xlUp).Row
For i = 2 To dlg
Nomfeuille = .Range("C" & i).Value
If Not FeuilleExiste(Nomfeuille) Then
.Copy After:=Sheets("Infos Voyageurs")
With ActiveSheet
.Name = .Range("C" & i).Value
.Rows("1:" & i - 1).Delete
.Rows("2:" & i + dlg).Delete
End With
End If
Next i
End With
Application.ScreenUpdating = True
End Sub
Function FeuilleExiste(Nomfeuille) As Boolean
'verifie si la feuille existe ou pas
Dim f As Object
On Error Resume Next
Set f = Sheets(Nomfeuille)
If Err = 0 Then FeuilleExiste = True
Set f = Nothing
End Function
Une fois fait, vous positionnez le pointeur de votre souris sur la ligne Generer_feuille puis vous exécuter le code. Attention n'essayez pas d'exécuter le code Function qui lui va être exécuté automatiquement depuis la sub Generer_feuille.
Une fois les codes placés dans votre fichier, n'oubliez pas d'enregistrer votre fichier au format XLSM pour que les codes soient conservés dans le fichier.
Si vous voulez mettre un bouton en plus, créez le sur votre feuille. Une fois créé faite clique droite sur ce bouton puis choisir l'option "affecter une macro" et sélectionner la macro Generer_feuille.
L'onglet sera nommé en fonction du nom trouvé en colonne C. Le code place la ligne concernée en ligne de chaque feuille
Crdlt