Mise en forme conditionnelle VBA 2 variables ligne entière

Résolu
gab -  
via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   -
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

  1. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759
     
    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
    1. gab
       
      Merci,ça fonctionne pour une ligne, mais j'ai oublié de dire que j'ai 70 lignes à traiter indépendemment...
      0
    2. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759
       
      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
    3. gab
       
      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
    4. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759
       
      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
    5. gab
       
      Ha c'est exactement ça que je voulais, en beaucoup plus simple :) Merci beaucoup!
      0