Sub Worksheet_Change(ByVal Target As Range)
Dim Liste, Jour$, Colonne%, N%, Début%, Longueur%
On Error GoTo Fin: If Target.Count > 1 Then Exit Sub
If Not Intersect(Target, [C2:G11]) Is Nothing Then ' Si clic dans ce tableau
Application.ScreenUpdating = False ' On fige l'écran
Cells(Target.Row, Target.Column).Font.Color = vbBlack ' Couleur par défaut
Cells(Target.Row, Target.Column).Font.Bold = False
Liste = Split(Target, Chr(10)) ' Liste des prénoms présent dans la cellule
If Target.Row Mod 2 = 0 Then Jour = Cells(Target.Row, "A") _
Else Jour = Cells(Target.Row - 1, "A") ' Recherche du jour correspondant
Colonne = Application.Match(Jour, Sheets("Cédule").[1:1], 0) ' Quelle colonne correspond à ce jour ?
For N = 0 To UBound(Liste) ' Pour tous les prénoms
Prénom = Liste(N) ' Extraction du prénom à analyser
L = 2 ' Première ligne d'analyse
While Sheets("Cédule").Cells(L, Colonne) <> "" ' Tant que la liste n'est pas finie
If Sheets("Cédule").Cells(L, Colonne) = Prénom Then ' Si le Prénom est présent dans cette liste
Début = Application.Search(Prénom, Target) ' Chercher début prénom dans la cellule
Longueur = Len(Prénom) ' et longueur du prénom
With Cells(Target.Row, Target.Column). _
Characters(Start:=Début, Length:=Longueur).Font ' Pour ce mot dans la cellule
.FontStyle = "Gras" ' Mettre en gras
.Color = RGB(0, 180, 240) ' Bleu
End With
End If
L = L + 1 ' Prochain prénom
Wend
Next N
End If
Fin:
End Sub