Créer une mise en forme conditionnelle sur VBA [Fermé]

Messages postés
8
Date d'inscription
jeudi 26 juin 2014
Statut
Membre
Dernière intervention
9 juillet 2014
-
Bonjour,

Je souhaite colorer ma plage de cellules active en fonction de la présence d'un "ok" dans la ligne d'en dessous.

Pour info la plage de cellule n'est pas fixe, je ne peut donc pas dire de sélectionner la cellule A4 par exemple

J'ai besoin de VBA pour créer cette fonction.

je n'arrive pas à le faire !

Pouvez m'aider svp ?

Merci :)
Afficher la suite 

1 réponse

Messages postés
10929
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
9 août 2019
1360
0
Merci
Bonjour

Pourquoi en VBA une mise en forme conditionnelle ne suffirait pas ?

Post un exemple allégé et anonymé de ton fichier sur cjoint.com en indiquant à l'intérieur quelles cellules doivent se colorer et en fonction desquelles (exemple précis) et indiques ici ensuite le lien fourni si tu veux qu'on puisse t'aiguiller

Cdlmnt
alexandre0999
Messages postés
8
Date d'inscription
jeudi 26 juin 2014
Statut
Membre
Dernière intervention
9 juillet 2014
-
C'est génial merci beaucoup !
Oui effectivement pas besoin de passer par une macro !

Alexandre
alexandre0999
Messages postés
8
Date d'inscription
jeudi 26 juin 2014
Statut
Membre
Dernière intervention
9 juillet 2014
-
Bonjour,

J'ai de nouveau un problème qui se pose avec la mise en forme conditionnelle. En effet grâce à votre formule précédente tout marche

Mais j'ai en parallèle une macro qui vient insérer plusieurs cellules dans l'onglet "vue globale". Du coup la mise en forme conditionnelle ne vient pas prendre en compte ces nouvelles cellules insérées. Y a t il un moyen (grâce à une macro peut etre) de venir resélectionner l'ensemble de la feuille ?

Merci !
via55
Messages postés
10929
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
9 août 2019
1360 -
Bonjour Alexandre

Cette macro annule toutes les MFC de la feuille puis reselectionne la feuilel entière et lui applique la MFC rouge si ok dans cellule en dessous

Sub ColorersurOK()

Cells.FormatConditions.Delete
Cells.Select
Selection.FormatConditions.Add Type:=xlExpression, Formula1:="=A2=""ok"""
Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
With Selection.FormatConditions(1).Interior
.PatternColorIndex = xlAutomatic
.Color = 255
.TintAndShade = 0
End With
Selection.FormatConditions(1).StopIfTrue = False

End Sub

Cdlmnt
alexandre0999
Messages postés
8
Date d'inscription
jeudi 26 juin 2014
Statut
Membre
Dernière intervention
9 juillet 2014
-
Merci de votre retour rapide

Du coup si je veux appliquer plusieurs mise en forme conditionnelle sur la même feuille avec des couleurs différentes basées sur des mots différents c'est impossible ?

Voici mon fichier

http://cjoint.com/?0GhpslGmD7g
via55
Messages postés
10929
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
9 août 2019
1360 -
Il faudrait déjà faire le tri dans les MFC et supprimer les inutiles il ya plusieurs fois la même

Ensuite dans la macro la ligne :
Selection.FormatConditions.Add Type:=xlExpression, Formula1:="=A2=""ok""" reprend bien la formule à appliquer
et la ligne .Color = 255 la couleur à appliquer (ici rouge)

rien n'empeche d'appliquer plusieurs MFC successives dans la macro en reopiant à la suite autant de fois que necessaire :
Cells.Select
Selection.FormatConditions.Add Type:=xlExpression, Formula1:="=A2=""ok"""
Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
With Selection.FormatConditions(1).Interior
.PatternColorIndex = xlAutomatic
.Color = 255
.TintAndShade = 0
End With
Selection.FormatConditions(1).StopIfTrue = False

en changeant la formule et la couleur

Cdlmnt