Mise en forme conditionnelle VBA 2 variables ligne entière

Résolu/Fermé
gab - 14 mars 2013 à 19:31
via55
Messages postés
13617
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
26 mai 2022
- 14 mars 2013 à 21:54
Bonjour!

Je veux créer une macro VBA pour une mise en forme conditionnelle à 2 variables (les 2 variable sont sur la même ligne), avec un fond vert si vrai pour les 2, un fond rouge si vrai pour 1 variable et pas de mise en forme si faux les 2. Il faut que la mise en forme conditionnelle soit faite sur la ligne entière.

La première variable est la colonne B : Date (si vide = faux, si remplie = vrai)
La 2e variable est située plus loin dans la colonne P, reliée à un menu déroulant. Si =1 = faux, si >1 = vrai.

Et j'aimerais ne pas avoir de bouton à peser pour actualiser.

Il y a beaucoup d'infos sur le net mais j'ai encore de la difficulté à mixer les codes ensembles...

Merci d'avance de votre aide!


1 réponse

via55
Messages postés
13617
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
26 mai 2022
2 404
14 mars 2013 à 20:00
Bonsoir

pas de besoin de VBA deux mise en forme conditionnelles suffisent

Sélectionner toutes les lignes en commençant par ex par la 3eme :

MFC nouvelle regle Utiliser une formule..;
et entrer la formule
=ET($B$3<>"";$P$3>1) puis choisir couleur

Recommencer l'opération avec cette fois la formule :
=OU(ET($B$3<>"";$E$3=1);ET($B$3="";$P$3>1)) et l'autre couleur


Cdlmnt
0
Merci,ça fonctionne pour une ligne, mais j'ai oublié de dire que j'ai 70 lignes à traiter indépendemment...
0
via55
Messages postés
13617
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
26 mai 2022
2 404
14 mars 2013 à 21:00
c'est pareil

Tu selectionnes TOUTES les lignes avant d'appliquer la MFC

Ou si tu l'a déjà appliqué à une ligne tu vas sur MFC Gerer les regles
Tu selectionne la regle puis clic dans le rectangle de S'applique à et tu selectionne avec la souris toutes les lignes où tu veux voir la MFC s'appliquer
0
Je me suis peut-être mal expliquer:
Si je sélectionne toutes les lignes, alors toutes les lignes sont dépendantes des cellules B4 et P4, mais moi je veux que chaque ligne soit indépendante selon ses propres résultats. Alors il faudrait que je crée 140 règles de mise en forme conditionnelles? C'est pour ça que je voulais le faire en VBA...
0
via55
Messages postés
13617
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
26 mai 2022
2 404
14 mars 2013 à 21:37
Ah oui OK

il suffit de rendre les references semi relatives en supprimant les $ devant les N°s de ligne
=ET($B4<>"";$P4>1) et =OU(ET($B4<>"";$E4=1);ET($B4="";$P4>1))
Tu fais faire les MFC avec ces formules sur une ligne
Ensuite tu selectionnes toute cette ligne
Tu double clic sur le pinceau en haut à gauche dans Accueil pour reproduire la mise en forme
et tu l'appliques sur tes 140 lignes que tu veux
0
Ha c'est exactement ça que je voulais, en beaucoup plus simple :) Merci beaucoup!
0