Colorer des cellules en fonction de la valeur de 2 cellules (en VBA car + de 3 cond.)

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

zackus

XLDnaute Nouveau
Voila à peut près tous est dit dans le titre, je pense que la solution est relativement basic à coder mais j'y connais pas grand chose, donc si quelqu'un peut me guider ça serait génial.

Pour infos il faut que toutes les cellules en jaune de l'onglet "Etiquette" se colore en fonction de la valeur des cellules D7 et D8 et en fonction du code couleur de l'onglet "Code couleur picking"

Alors moi dans la solution je pensais écrire A6😀6 dans 2 variables, les additionner et colorer les cellules à colorer en fonction du résultat...
Mais je ne sais absolument pas comment m'y prendre, donc si une âme charitable veut se lancer je la remercie d'avance
 

Pièces jointes

Re : Colorer des cellules en fonction de la valeur de 2 cellules (en VBA car + de 3 c

Bonsoir.
Dans le module Feuil1 (Etiquette) ceci à l'air de marcher:
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Cel As Range, Coul As Long
If Intersect(Me.[A6:D6], Target) Is Nothing Then Exit Sub
Set Cel = Feuil2.[A:A].Find(What:=Me.[A6].Value & Me.[C6].Value, After:=Feuil2.[A1], _
   LookIn:=xlValues, LookAt:=xlWhole, SearchOrder:=xlByRows, _
   SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False)
If Cel Is Nothing Then Exit Sub
Coul = Cel.Interior.Color
Application.ScreenUpdating = False
For Each Cel In Me.[A1:L2,A4:L5,A6:F6]
   Cel.Interior.Color = Coul
   Next Cel
End Sub
Alt+F11 pour aller dans VBA d'abord.
Cordialement.
 
Re : Colorer des cellules en fonction de la valeur de 2 cellules (en VBA car + de 3 c

Bon ben désolé je relance, car sur le fichier de test ça marche mais sur l'original ça ne fonctionne pas. Je pense que c'est parce que dans le fichier d'origine la valeur des cellules D7 et D8 sont ramené par une recherchev d'un autre onglet alors que dans le fichier test c'est la valeur direct de la cellule. Car quand je remplace la formule par la valeur dans mon fichier ça fonctionne... 😕
 
Re : Colorer des cellules en fonction de la valeur de 2 cellules (en VBA car + de 3 c

Bonjour.
Mettez le code dans une procédure qui s’exécutera quand il le faudra.
Par exemple lors de la modification des cellules de l'autre feuille qui induisent un changement.
Ou mieux: Dans une Worksheet_Activate de la feuille Étiquette (inutile de faire ce coloriage dans ce cas tant qu'on ne va pas dans la feuille !)
Utilisez les listes déroulantes qui surmontent la fenêtre de code :
Liste de gauche, Objet: Worksheet, liste de droite, Procédure: Activate.
À +
 
Dernière édition:
Re : Colorer des cellules en fonction de la valeur de 2 cellules (en VBA car + de 3 c

Bonsoir,

C'est de nouveau moi, j'ai beau chercher mais je n'arrive pas à la faire fonctionner. J'ai vraiment l'impression qu'il regarde la formule plutôt que sa valeur car si je remplace la formule par son résultat ça fonctionne... Je mettrais bien le fichier complet mais il est trop volumineux

Merci d'avance
 
Re : Colorer des cellules en fonction de la valeur de 2 cellules (en VBA car + de 3 c

Bonsoir.
C'est normal: une Worksheet_Change ne s'exécute que si le contenu d'une cellule change. Or quand la valeur d'une formule change, ça ne change pas le contenu de la cellule puisqu'elle porte toujours la même formule.
Relisez mon poste précédent (#5) et appliquez à la lettre ma seconde idée: pour ne pas risquer de vous tromper, utilisez les listes déroulantes qui surmontent la fenêtre de code en y sélectionnant, pour l'objet Worksheet (liste de gauche) et non pas "(Général)", le modèle de procédure Activate à installer (liste de droite).
Il va de soit que cette instruction est à supprimer aussi:
If Intersect(Me.[A6😀6], Target) Is Nothing Then Exit Sub
puisqu'il n'a pas de paramètre Target dans une Sub Worksheet_Activate.
 
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
11
Affichages
568
Retour