Sub ColorieRolesCellule(Cellule As Range)
'R (réalisateur) en Vert
'A (approbateur) en rouge
'C (consulté) en bleu
'I (informé) en orange
'
' Variables de fonctionnement
Dim txt As String, car As String
Dim Couleur As Long
Dim i As Integer
'
' Texte de la cellule
txt = UCase(Cellule(1, 1).Text)
'
' S'il n'est pas vide
If Trim(txt) <> "" Then
'
' Le parcourir sur toute sa longueur
For i = 1 To Len(txt)
'
' obtention en majuscule du caractère parcouru
car = UCase(Mid(txt, i, 1))
'
' initialiser la couleur du caractère à -1 (aucune) par défaut
' IMPORTANT : doit être à -1 à chaque passage de boucle
Couleur = -1
'
' Suivant le caractère, choisir la couleur
Select Case car
Case "R": Couleur = RGB(0, 128, 0) ' VERT
Case "A": Couleur = RGB(255, 0, 0) ' ROUGE
Case "C": Couleur = RGB(0, 0, 255) ' BLEU
Case "I": Couleur = RGB(255, 140, 0) ' ORANGE
Case Else: Couleur = -1
End Select
'
' si la variable couleur a été modifiée alors colorer le caractère correspondant
If Couleur > -1 Then Cellule.Characters(i, 1).Font.Color = Couleur
Next i
End If
End Sub