Modifier couleur police selon texte saisi dns autre cellule

  • Initiateur de la discussion Initiateur de la discussion lizou10
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

lizou10

XLDnaute Nouveau
Bonjour à tous,
Bravo pour cet excellent site!
J'ai peut-être ouvert une discussion déjà traitée mais je n'ai rien trouvé de correspondant.
J'ai un fichier excel avec 2 colonnes qui m'intéressent: la "D" (de D4 à D130) et la "I" (de I4 à I130)

Utilisateur débutant de vba, je cherche à faire une macro qui permettrait de modifier la couleur de police des cellules en "D" pour lesquelles la cellule en "I" correspondante afficherait la valeur:
¤ si D="1" --> cellule "D" en regard = bleu foncé et gras
¤ si D="2" --> cellule "D" en regard = vert foncé et gras
¤ si D="3" --> cellule "D" en regard = rouge et gras

Ce serait vraiment sympa si quelqu'un pouvait m'aider.
Merci et bonne soirée 🙂
 
Re : Modifier couleur police selon texte saisi dns autre cellule

Salut Gilbert_RGI,
la MFC est la solution que j'ai utilisée jusqu'à présent.
Le problème c'est que je travaille sur 12 pages (mois) et toute modification doit être paramétrée manuellement. Une macro serait plus simple à gérer.
Merci pour votre aide
 
Re : Modifier couleur police selon texte saisi dns autre cellule

comme ceci
le code est à repercuter dans toutes les feuilles ou alors avec quelques modifications à mettre dans un module et dans chaque feuille une petite macro lui faisant appel 😀

voir en feuille 2
 

Pièces jointes

Dernière édition:
Re : Modifier couleur police selon texte saisi dns autre cellule

Bonsoir,

Code:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
 If Left(Sh.Name, 4) = "Mois" Then
   If Target.Column = 4 Then
    Application.EnableEvents = False
    On Error Resume Next
    [Couleurs].Find(Target, LookAt:=xlWhole).Copy
    Target.Offset(, 5).PasteSpecial Paste:=xlPasteFormats
    Application.EnableEvents = True
   End If
  End If
End Sub

JB
 

Pièces jointes

Dernière édition:
Re : Modifier couleur police selon texte saisi dns autre cellule

comme ceci
le code est à repercuter dans toutes les feuilles ou alors avec quelques modifications à mettre dans un module et dans chaque feuille une petite macro lui faisant appel 😀

voir en feuille 2

Bonjour Gilbert_RGI,

Super ta macro, simple et fonctionne sur un fichier test.
Mais en l'intégrant dans mon fichier ça bloque peut être parce que les valeurs "1", "2", "3" ... sont le résultat d'un vlookup (?)

Voici le code que j'ai intégré dans le worksheet:

If Not Intersect(Target, [I4:I139]) Is Nothing And Target.Count = 1 Then
Select Case Target.Value
Case Is = 1
Target.Offset(0, -5).Font.Color = -10477568
Target.Offset(0, -5).Font.Bold = True
Case Is = 2
Target.Offset(0, -5).Font.Color = -16777024
Target.Offset(0, -5).Font.Bold = True
Case Is = 3
Target.Offset(0, -5).Font.Color = -8355840
Target.Offset(0, -5).Font.Bold = True
Case Is = ""
Target.Offset(0, -5).Font.ColorIndex = xlAutomatic
Target.Offset(0, -5).Font.Bold = False
Case Else
Target.Offset(0, -5).Font.ColorIndex = xlAutomatic
Target.Offset(0, -5).Font.Bold = False
End Select
End If

Qu'en penses-tu? 😕
Merci d'avance
 
Re : Modifier couleur police selon texte saisi dns autre cellule

Salut, encore moi,

je pense que c'est lié au fait qu'il faut une frappe pour avoir le résultat attendu (ou plutôt le fait d'appuyer sur entrer enclenche le processus)

comment contourner ce problème?

Bonne journée à tous
 
Re : Modifier couleur police selon texte saisi dns autre cellule

Encore moi!

ça y est, ça marche.

J'ai juste inversé la source du range (là où je sélectionne le produit dont l'Id apparaitra dans la 2ème colonne):


Code:
If Not Intersect(Target, [D4:D139]) Is Nothing And Target.Count = 1 Then
        Select Case Target.Offset(0, 5).Value
        Case Is = 1
            Target.Font.Color = -10477568
            Target.Font.Bold = True
        Case Is = 2
            Target.Font.Color = -16777024
            Target.Font.Bold = True
        Case Is = 3
            Target.Font.Color = -8355840
            Target.Font.Bold = True
        Case Is = ""
            Target.Font.ColorIndex = xlAutomatic
            Target.Font.Bold = False
        Case Else
            Target.Font.ColorIndex = xlAutomatic
            Target.Font.Bold = False
        End Select
    End If

Merci pour votre aide
 
Re : Modifier couleur police selon texte saisi dns autre cellule

Bonsoir lizou10, Gilbert et Jacques,

Non, pas de résolu ici (des réponses différentes peuvent toujours être données).

Ton remerciement suffit et c'est le plus important pour les contributeurs qui t'ont répondu.

Bonne soirée.

Jean-Pierre
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Retour