Cellules changent de couleur sous conditions

  • Initiateur de la discussion Initiateur de la discussion excel12
  • 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 !

excel12

XLDnaute Nouveau
Bonjour à tous les passionnés d'Excel!

J'ai deux colonnes: A et B

Chaque colonne a 100 cellules.
Les 100 cellules de A sont vides.
Les 100 cellules de B contiennent un mot de vocabulaire différent.

Je veux que la couleur de la cellule de la colonne A devienne verte quand j'écris le même mot que celui qui est écris dans la cellule de la colonne B qui est sur la même ligne.
Si le texte de la cellule de A est différent de B, alors A devient rouge.
Si rien n’est écrit dans la cellule A, aucun changement de couleur de la cellule de la colonne A.

J'ai bien sûr pensé à utiliser:
Mise en forme conditionnelle,
règles de mise en surbrillance des cellules,
égale à
Mais je dois définir manuellement les 100 cellules. C'est très long!!!

J'ai pensé écrire dans la colonne C
=SI(A1=B1;CELLULE("couleur" verte, A10);CELLULE("couleur" rouge, A10))
(CETTE FORMULE NE FONCTIONNE PAS, C'EST JUSTE POUR DONNÉ UNE IDÉE)
Avec une telle formule, je pourrais recopier cette formule rapidement. Aussi, je veux qu'aussitôt que j'ai fini d'écrire dans A voit le changement de couleur. (Donc, je ne veux pas utiliser de macro, car avec une macro, je dois cliquer sur un bouton pour la démarrer. Je voudrais qu'aussitôt que j'ai fini d'écrire dans la cellule, la couleur change.)

J'ai joint le fichier "Couleur cellule" pour mieux expliquer mon problème.

Merci à tous pour votre aide!!!

excel12
 

Pièces jointes

Re : Cellules changent de couleur sous conditions

Bonjour à toutes et à tous,

... Donc, je ne veux pas utiliser de macro, car avec une macro, je dois cliquer sur un bouton pour la démarrer...

Une autre suggestion en pièce jointe, avec macro sans "bouton pour la démarrer" (cf. le code de l'onglet "00").

A bientôt 🙂
 

Pièces jointes

Re : Cellules changent de couleur sous conditions

Merci beaucoup JBARBE! Tout fonctionne bien. S'il vous plait, si possible, je souhaiterais voir quelques explications sur la façon dont vous avez résolu cette question. Car éventuellement, j'aurai à modifier pour ajuster selon mes besoins. Ici, on a seulement la colonne A et B. Mais dans d'autres situations, je pourrais avoir besoin de colonne A et B. Vérifier que A = C et que B=D. Donc, en comprenant le principe, je pourrais modifier à ma convenance. Merci encore pour la réponse rapide! C'est très apprécié.


Bonjour à tous,

Peut-être ceci !

bonne journée
 
Re : Cellules changent de couleur sous conditions

Bonjour letroubadour,

Merci beaucoup pour la réponse rapide. Tout fonctionne à merveille. Si possible, je souhaiterais avoir quelques explications sur la façon dont vous avez résolu la question. C'est qu'ainsi, je pourrai ensuite modifier à ma convenance. Je remarque que tout a été résolu sans utilisation de macro!

Éventuellement, je pourrais avoir besoin de vérifier colonne A = C et colonne B=D. Donc, en comprenant le principe, je pourrai toujours ajusté. Merci beaucoup pour votre aide!
 
Re : Cellules changent de couleur sous conditions

Bonjour DoubleZero,

Tout à fait géniale! Je regarde le code de la macro. Mais petit souci. Je ne comprends pas comment vous avez fait pour définir les colonnes dans le code. Je veux dire, j'aurais pensé voir quelque par "colonne A" comparé à "colonne B".

Comment écrire le code pour faire comprendre au programme les colonnes qu'on souhaite comparer?

En comprenant, je pourrai comparer différentes colonnes ou même ajouter d'autres colonnes à comparer. Exemple: A=C et B=D.

Merci pour votre aide, c'est très apprécié.
 
Re : Cellules changent de couleur sous conditions

Bonjour à tous!

Merci beaucoup pour votre aide. C'est gentil d'avoir résolu la question.

S'il vous plait, j'aimerais beaucoup si possible que vous puissiez m'expliquer chaque étape que vous avez faite pour la résolution de la question. Pour la programmation de vos macros, expliquer de façon détailler. J'aimerais vraiment pouvoir comprendre comment faire. Je n'ai aucune idée de comment définir une variable dans Excel. Donc, n'hésiter pas à détailler même si cela peut semble facile pour vous. Pour moi, c'est un vrai casse-tête. Merci de votre compréhension et de votre patience.
 
Re : Cellules changent de couleur sous conditions

Re-bonjour,

... Je ne comprends pas comment vous avez fait pour définir les colonnes dans le code. Je veux dire, j'aurais pensé voir quelque par "colonne A" comparé à "colonne B"...

Ci-après, une version avec commentaires dans le code.

Bon courage et à bientôt 🙂
 

Pièces jointes

Re : Cellules changent de couleur sous conditions

Voici le fichier et la macro commenté !

Il faut impérativement que cette macro se trouve dans la feuille concernée ( ici feuil1)

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, Range("A:A")) Is Nothing Then ' concerne la colonne A (Range("A:A")
   If Target = Target.Offset(0, 1) Then ' vérification de la colonne B (Target.Offset(0, 1)la colonne aprés A donc B
                                        ' si (Target.Offset(0, 2)= 2 colonnes plus loin que A soit C
      Target.Interior.ColorIndex = 14 ' couleur verte (14) attribuée à la cellule validée ( colonne A)
   Else
      Target.Interior.ColorIndex = 3 ' couleur rouge (3) attribuée à la cellule validée ( colonne A)
   End If
End If
End Sub

bonne soirée
 

Pièces jointes

Re : Cellules changent de couleur sous conditions

Bonjour DoubleZero,

Je comprends déjà mieux. Les commentaires ont été très utiles. J'ai joint un nouveau fichier "Nourriture". L'idée est la même, simplement que dans ce fichier, je souhaite comparer plusieurs colonnes. J'ai suivi la même logique pour poursuivre le codage. Tout va bien pour la première colonne (Fruits), mais pour les autres, ça ne fonctionne pas. S'il vous plait, pouvez-vous vérifiez et effectuer les corrections nécessaires. Merci beaucoup! C'est très gentil.
 

Pièces jointes

Re : Cellules changent de couleur sous conditions

la macro de la feuille concernée ( feuil1) avec explication :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, Range("B4:F8")) Is Nothing Then ' concerne le tableau B4:F8
 For i = 9 To 13 'verification de 9 à 13 colonne suivant la saisie
   If Target = Target.Offset(0, i) Then ' i = la colonne concernée
      Target.Interior.ColorIndex = 14 ' couleur verte (14) attribuée à la cellule validée ( colonne i)
   Else
      Target.Interior.ColorIndex = 3 ' couleur rouge (3) attribuée à la cellule validée ( colonne i)
   End If
Exit For
 Next i
End If
End Sub
 

Pièces jointes

Dernière édition:
Re : Cellules changent de couleur sous conditions

Bonjour JBARBE,

Wow! C'est vraiment impressionnant. Tout va de mieux en mieux.

J'ai essayé, tout fonctionne bien, excepté lorsqu'on supprime la réponse dans la case "gâteau". Alors, on obtient une erreur "Erreur d'exécution '13': Incompatibilité de type".

Aussi, par simples soucis d'esthétisme, lorsqu'on supprime une réponse, la case apparait en rouge. Mais je préférais qu'elle redevienne de la même couleur qu'elle était initiale.

Merci beaucoup pour votre aide! Je suis vraiment content. Je suis toujours très impressionné de ce que quelques lignes de programmations bien écrites peuvent produire comme résultat. C'est vraiment génial.
 
Re : Cellules changent de couleur sous conditions

Pour gâteau, j'ai enlevé le fusionnement des 2 tableaux ( pas de possibilité de faire autrement pour ne pas avoir d'erreur)

Maintenant quand on supprime un nom, la cellule concernée n'aura aucune couleur ou blanche car il est difficile d’attribuée une couleur différente à chaque fois sur 2 lignes !

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, Range("B4:F8")) Is Nothing Then ' concerne le tableau B4:F8
 For i = 9 To 13 'verification de 9 à 13 colonne suivant la saisie
   If Target = Target.Offset(0, i) Then ' i = la colonne concernée
      Target.Interior.ColorIndex = 14 ' couleur verte (14) attribuée à la cellule validée ( colonne i)
   ElseIf Target <> Target.Offset(0, i) And Target <> "" Then
      Target.Interior.ColorIndex = 3 ' couleur rouge (3) attribuée à la cellule validée ( colonne i)
   Else
   Target.Interior.ColorIndex = xlNone ' couleur neutre
   End If
Exit For
 Next i
End If
End Sub
 

Pièces jointes

Dernière édition:
- 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

Discussions similaires

Réponses
1
Affichages
88
Réponses
4
Affichages
131
Réponses
7
Affichages
116
Réponses
14
Affichages
247
Retour