Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim ws As Worksheet
Sheets("Fichier client").Select'ici on dit du on se place dans l onglet fichier client meme si par defaut vu que la macro est ici est privée on est tjs situé dans l onglet fichier client , c est tjs bon de le rappeler
Nom = Target.Value'ici target est l endroit ou la cellule a été selectionner on prend donc la valeur qui est le nom !!!
prenom = Cells(Target.Row, 2).Value'ici on cherche a avoir le prenom on sais que c est sur la meme ligne target.row donne le numéro de la ligne et sur la colonne 2
present = 2 ' present prend 3 valeurs : (2 = nouvelle fiche , 1 = nouvelle fiche mais avec prenom car le nom existe deja,0 = fiche deja creer
'ici present est notre indicateur par defaut on dit que la personne que l on va regarder est nouvelle, donc present = 2 ( ou "nouvelle" ... a toi de choisir le code que tu veux !!!! ici j ai fais simple avec 0 1 2 )
For Each ws In Worksheets'une fois qu on a le prenom et le nom on va voir sur tout les onglet deja creer si on a pas deja traiter ce cas
'toto = ws.Name
If ws.Name = Nom Then'si ws.name c est a dire le nom de l onglet qu on regarde est le meme que le nom ca veu dire qu on a deja traité de nom 2 cas de figures...
ws.Select
If Sheets(ws.Name).Cells(2, 2) = prenom Then'meme prenom
'onglet deja creer
present = 0'ici meme nom , meme prenom il faut pas le recreer on met present = 0 ou present = " deja creer" comme tu veux !!!
Else
present = 1 ' si meme nom mais aucune fiche avec meme prenom present = 1 on sais que on va devoir creer une fiche nom_prenom quand present = 1
End If
End If
Next ws 'on passe a l onglet suivant jusqu a les avoir tous vu !!!
If present = 2 Then 'on traite les cas .....ici present = 2 ca ve dire nouvelle fiche car nom jamais traité
'on creer l onglet avec le nom
Sheets("Modèle").Copy After:=Sheets(Sheets.Count)
Sheets("Modèle (2)").Name = Nom
Sheets(Nom).Cells(1, 2) = Nom
Sheets(Nom).Cells(2, 2) = prenom
Sheets("Modèle").Cells(1, 2) = ""
Sheets("Modèle").Cells(2, 2) = ""
ElseIf present = 1 Then
'on creer l onglet avec son prenom a la fin
Sheets("Modèle").Copy After:=Sheets(Sheets.Count)
Sheets("Modèle (2)").Name = Nom & "_" & prenom
Sheets(Nom & "_" & prenom).Cells(1, 2) = Nom
Sheets(Nom & "_" & prenom).Cells(2, 2) = prenom
Sheets("Modèle").Cells(1, 2) = ""
Sheets("Modèle").Cells(2, 2) = ""
End If
Sheets("Fichier client").Select'pour se remettre sur fichier client a la fin !!!
End Sub