Problème pour mettre des couleurs selon les valeurs des cellules

Bonjour à tous et toutes,

Je me permets de publier sur ce forum pour demander de l'aide car je débute en vba.

Je cherche à faire le besoin suivant en vba.

Une Macro qui lorsque les valeurs de la colonne A sont égales à "X" alors les colonnes B, C, D, E auront une couleur Jaune, et lorsque la valeur de la colonne A est "Y" alors les colonnes B,C,D,E auront une couleur verte. Je vous mets une image pour bien exprimer le besoin. Je veux automatiser ça en vba car mon tableau a beaucoup plus de lignes et colonnes.

testvba

J'ai essayé le code suivant mais ça n'a pas marché

Sub VERSION()
Dim x As Integer
NumRows = Range("A10", Range("A10").End(xlDown)).Rows.Count

Range("A10").Select

For x = 1 To NumRows
If ActiveCell.Value = "X" Then


ActiveCell.Interior.Color = RGB(240, 6, 17)
End If

Next

End Sub

Merci de votre réponse

Très bonne journée

Bonjour,

Question stupide, mais c'est déjà réalisable sans VBA via une mise en forme conditionnelle : pourquoi réinventer la roue ?

S'il faut vraiment passer par VBA, l'action est elle à réaliser une fois de temps en temps (c.à.d déclenchement manuel par l'utilisateur), ou dès lors que le contenu de la colonne A est modifié ?

Merci de votre réponse.

Comme les données changent à chaque actualisation du tableau donc j'aurai pas le même nombre de lignes à chaque fois ( souvent j'aurai des lignes qui vont se rajouter car c'est tableau basé sur une requête )

Pourriez-vous m'expliquer la solution via une mise en forme conditionnelle svp ?

Merci

Un fichier exemple :

10demomfc.xlsx (8.02 Ko)

J'ai appliqué 3 formules personnalisées (une pour chaque couple valeur/couleur) :

demomfc

La formule s'écrit pour le cas de la cellule supérieure gauche de la plage sur laquelle elle s'applique (ici la cellule B1). Quand la formule renvoie VRAI ou 1, la mise en forme est appliquée. Ici j'ai verrouillé la colonne A à l'aide du symbole $ dans la formule, pour que ce soit toujours celle-ci la référence, que l'on soit en colonne B, C, D ou E.

Bonjour mayla, le fil...

Pour répondre à

Comme les données changent à chaque actualisation du tableau donc j'aurai pas le même nombre de lignes à chaque fois ( souvent j'aurai des lignes qui vont se rajouter car c'est tableau basé sur une requête )

Il te suffit en exploitant la proposition de Pedro22 de définir arbitrairement une plage de cellules assez grande pour contenir le nombre (maximum) de lignes de la requête. De plus, une MFC (Mise en Forme Conditionnelle) est de toutes façon extensible si ce "maximum" venait à augmenter !

Une solution VBA est tout à fait envisageable, cpdt qu'elle compliquerait je pense l'exploitation de ce tableau somme toute assez basique !

Bonjour Green SoftS !

Actuellement la MFC proposée couvre la totalité des lignes du classeur, mais effectivement cette plage est modifiable.

Bonjour Pedro22

Je l'entends bien comme çà !

Je voulais juste appuyer ta solution MFC plus pertinente à mon avis qu'un traitement VBA surtout dans le cas d'une actualisation qui semble être une importation être manuelle (du style copier-coller) au coup par coup !

Rechercher des sujets similaires à "probleme mettre couleurs valeurs"