une couleur par lettre

Margaux1301

XLDnaute Nouveau
Bonjour à tous,

Je formalise un RACI pour mon entreprise et j'aimerais mettre une couleur par lettre.
R (réalisateur) en Vert
A (approbateur) en rouge
C (consulté) en bleu
I (informé) en orange
J'ai une liste d'actions + une liste de noms et chacun doit connaitre son rôle. Le soucis est qu'il arrive qu'une personne ai plusieurs rôles, du coup, je ne peux pas faire de mise en forme conditionnelle.
Fichier ci joint.
Pourriez vous me venir en aide svp ?
 

Pièces jointes

  • Liste des actions Multibio V2.xlsm
    63.7 KB · Affichages: 21
Dernière édition:

soan

XLDnaute Barbatruc
Inactif
Bonjour Margaux, Lunissia,

ton fichier en retour ; fais Ctrl e ➯ travail effectué

attention : le orange ne se voit pas bien (même un orange foncé) ;
je te conseille de choisir une autre couleur (sauf si c'est obligé).

à te lire pour avoir ton avis. ;)


soan
 

Pièces jointes

  • Liste des actions Multibio V2.xlsm
    66.8 KB · Affichages: 13

Hasco

XLDnaute Barbatruc
Repose en paix
Bonjour,

Dans le fichier ci-joint la macro commentée ainsi que des exemples d'utilisation, comme par exemple si vous changez une valeur de cellule dans la plage "RACI[[Olivier]:[Lucrecia]]") de votre tableau.
VB:
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



Cordialement
 

Pièces jointes

  • Liste des actions Multibio V2.xlsm
    76.9 KB · Affichages: 10

Margaux1301

XLDnaute Nouveau
Bon
Bonjour,

Dans le fichier ci-joint la macro commentée ainsi que des exemples d'utilisation, comme par exemple si vous changez une valeur de cellule dans la plage "RACI[[Olivier]:[Lucrecia]]") de votre tableau.
VB:
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



Cordialement

Bonjour, merci pour toutes ces explications et exemples
 

Discussions similaires

Statistiques des forums

Discussions
311 712
Messages
2 081 802
Membres
101 819
dernier inscrit
lukumubarth