Modifier couleur police selon texte saisi dns autre cellule

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 :)
 

gilbert_RGI

XLDnaute Barbatruc
Re : Modifier couleur police selon texte saisi dns autre cellule

Bonjour

pas besoin de code VBA une mise en forme conditionnelle est suffisante pour faire cela
 

Pièces jointes

  • mefc_bvr.xls
    19 KB · Affichages: 1 003
  • mefc_bvr.xls
    19 KB · Affichages: 1 121
  • mefc_bvr.xls
    19 KB · Affichages: 1 130
Dernière édition:

lizou10

XLDnaute Nouveau
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
 

gilbert_RGI

XLDnaute Barbatruc
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 :D

voir en feuille 2
 

Pièces jointes

  • mefc_bvr.xls
    34 KB · Affichages: 519
  • mefc_bvr.xls
    34 KB · Affichages: 585
  • mefc_bvr.xls
    34 KB · Affichages: 587
Dernière édition:

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
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

  • 797A4220.xls
    41.5 KB · Affichages: 363
Dernière édition:

lizou10

XLDnaute Nouveau
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 :D

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? :confused:
Merci d'avance
 

lizou10

XLDnaute Nouveau
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
 

lizou10

XLDnaute Nouveau
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
 

jeanpierre

Nous a quitté
Repose en paix
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
 

Discussions similaires

Réponses
17
Affichages
692

Statistiques des forums

Discussions
312 228
Messages
2 086 421
Membres
103 205
dernier inscrit
zch