Mise en couleur d'une cellule sous condition

adelaidetermote

XLDnaute Nouveau
Bonjour tout le monde,

Je cherche à rédiger un code VBA me permettant de mettre en couleur des cellules en fonction de condition. On m' a déjà éclairé sur ce point par l'utilisation de l'outils mise en forme conditionnelle. Neanmoins le code VBA est nécessaire car j'utilise pour faire ressortir les données dans un Useform, qui ne prend pas en compte la mise en forme conditionnelle, mais seulement si on définie la cellule en couleur.

Puisqu'un petit exemple vaut mieux qu'un long discours voici un petit fichier de ce que je souhaiterai obtenir.

Voili voilou

Merci d' avance, je suis preneuse de toute proposition qui pourrait m' aider a avancer même non complète

Adé
 

Pièces jointes

  • Test.zip
    4.8 KB · Affichages: 91
  • Test.zip
    4.8 KB · Affichages: 92
  • Test.zip
    4.8 KB · Affichages: 96

natorp

XLDnaute Accro
Re : Mise en couleur d'une cellule sous condition

Bjr Adé

je ne comprends pas la phrase :
"Neanmoins le code VBA est nécessaire car j'utilise pour faire ressortir les données dans un Userform"

et apparemment il n'y a pas de userform dans le fichier joint ... donc impossible de savoir ce que tu veux faire

cordialement
Gérard
 

Modeste

XLDnaute Barbatruc
Re : Mise en couleur d'une cellule sous condition

Bonjour adelaidetermote, natorp,

Pour autant que je n'aie pas compris de travers, le code qui suit, placé dans un module me semble donner les résultats attendus.
VB:
Sub colorer()
Set f1 = Sheets("Feuil1")
Set f2 = Sheets("Feuil2")
derligne = f2.Range("a65000").End(xlUp).Row
For Each c In f2.Range("a3:a" & derligne)
    If f1.[H6] > c.Offset(, 1) And f1.[H7] > c.Offset(, 2) Then
        c.Interior.ColorIndex = 3 'rouge
    ElseIf f1.[H6] > c.Offset(, 1) Then c.Interior.ColorIndex = 46 'orange
    ElseIf f1.[H7] > c.Offset(, 2) Then c.Interior.ColorIndex = 6 'jaune
    End If
Next c
End Sub

J'ai considéré qu'il n'y avait pas de lien à faire avec un UserForm ... à venir.
... Reste à déterminer quand et/ou comment la macro doit s'exécuter!?

Edit: supprimé une ligne dans le code (utilisée pour un test, mais pas nécessaire)
 
Dernière édition:

adelaidetermote

XLDnaute Nouveau
Re : Mise en couleur d'une cellule sous condition

BOnjour,

Merci pour vos réponse rapide. En effet le Useform n' est pas dans le fichier test, je n'ai aps juger utile de le mettre puisque en fait il est complétement indépendant.

Alors pour essayer d' être un peu plus claire ^^: Avec l'outils mise en forme sous condition le test fonctionne correctement. Le problème c'est que je veux refaire sortir dans un useform sous forme de liste l'ensemble des nom avec prise en compte de la couleur.

Je me suis aperçu avec des test, que le useform me ressort les données en couleur si les cellules des noms considérés sont en couleur avec les élément standard de excel de mise en couleur. Or la mise en forme conditionnelle ne permet pas d'appliqué a la cellule la couleur. Je sais pas si je me fais comprendre c'est pas tres évident a expliquer....:(

Enfin je vais test le VBA de modeste merci

Voili voilou

^^

Adé
 

adelaidetermote

XLDnaute Nouveau
Re : Mise en couleur d'une cellule sous condition

Re

Apparement ton code fonctionne bien pour ce que je souhaitais faire. Merci beaucoup.
Neanmoins j'ai adapté l'useform dans ton fichier dans le fichier que vous m' avez retourné mais lorsque je copie votre code VBA dans mon fichier: Il m'indique l' indice n' appartient pas à la sélection:confused:.

Pourtant j'ai adapté la nomination des cellule du code par rapport a mon fichier. Il y a t il une restriction ou une précision a changer ou apporter afin que cela fonctionne? :(

Je n'ai pas tres bien compris l' histoire du c dans le code c'est peut etre pour ca, est ce que je pourrais avoir des explications?

Merci beaucoup

Adé
 

Discussions similaires

Statistiques des forums

Discussions
312 490
Messages
2 088 873
Membres
103 980
dernier inscrit
grandmasterflash38