Créer une mise en forme conditionnelle sur VBA

Fermé
alexandre0999
Messages postés
8
Date d'inscription
jeudi 26 juin 2014
Statut
Membre
Dernière intervention
9 juillet 2014
- Modifié par alexandre0999 le 26/06/2014 à 16:32
via55
Messages postés
13587
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
18 mai 2022
- 7 juil. 2014 à 15:51
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 :)

1 réponse

via55
Messages postés
13587
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
18 mai 2022
2 400
26 juin 2014 à 16:12
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
0
alexandre0999
Messages postés
8
Date d'inscription
jeudi 26 juin 2014
Statut
Membre
Dernière intervention
9 juillet 2014

26 juin 2014 à 21:55
Je souhaite réaliser une mise en forme conditionnelle(MFC) en rouge dans les encadrés si la cellule du dessous contiennent un "ok".

Le problème étant que la ligne où je veux faire cette MFC n'est pas fixe.

Du coup je ne peux pas seulement définir une plage de cellule telle que D7:N7 qui se baserait sur D8:N8,mais partir de la plage de cellule active et faire une macro qui lui dit d'allé de se baser sur la ligne qui est juste en dessous pour faire cette MFC

C'est au niveau de l'écriture de la macro que je bloque

Voici le lien https://www.cjoint.com/?DFAvXgHfGbJ

Merci encore !

Alexandre
0
via55
Messages postés
13587
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
18 mai 2022
2 400
26 juin 2014 à 22:26
Pas besoin de macro :

https://www.cjoint.com/?0FAwz3erCr7

Mais si tu veux une macro on fera une macro !

Cdlmnt
0
alexandre0999
Messages postés
8
Date d'inscription
jeudi 26 juin 2014
Statut
Membre
Dernière intervention
9 juillet 2014

27 juin 2014 à 11:28
C'est génial merci beaucoup !
Oui effectivement pas besoin de passer par une macro !

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

7 juil. 2014 à 14:53
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 !
0
via55
Messages postés
13587
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
18 mai 2022
2 400
7 juil. 2014 à 15:08
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
0