[VBA/Excel] Mise en forme selon valeur

Résolu
Bonjour, je suis débutant en VBA sous EXCEL et j'aimerais créer une macro qui effectue la manipulation suivante :
Mettre en mise en forme spécifique à une rangée de cellule selon la valeur d'une cellule donnée. Concrètement : si la valeur en D2 est égale à x, alors faire telle mise en forme sur les cellules A2:C2, et ainsi de suite jusqu'à la ligne 30 par exemple.

Je veux que ça soit via une macro VBA afin d'avoir un bouton pour faire la mise en forme, je ne veux pas que ça se fasse automatiquement et en permanence avec l'outil "Mise en forme conditionnelle"

J'espère avoir été clair et je vous remercie d'avance.

3 réponses

  1. Contributeur
    Bonjour,

    Quel format désires tu ?
    par exemple cellules teintée en rouge

    Option Explicit
    Sub donner_format()
    Dim lig As Byte
    Range("A2:C30").Interior.ColorIndex = xlNone
    For lig = 2 To 30
    If UCase(Cells(lig, 4)) = "X" Then Range(Cells(lig, 1), Cells(lig, 3)).Interior.ColorIndex = 3
    Next
    End Sub

    Michel
    Vous programmez en VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...(P. Fauconnier/dvp)
    0
    1. bonjour

      pour avoir des cellules lignée? je dois mettre quoi?

      merci

      0
  2. Pour le format c'est pas vraiment un problème, ça je sais à peut près faire (merci l'enregistreur de macro !)

    Mais pour l'exemple on a qu'a dire :
    Si valeur en Dn = A -> An:Cn sur fond rouge
    Si valeur en Dn = B -> An:Cn sur fond bleu
    Si autre valeur en Dn -> An:Cn normal
    0
    1. Contributeur
      La modif de mon message s'est croisée avec ta réponse
      tu as juste à ajouter une ligne pour le bleu
      Ci joint palette des couleurs (XL<2007)
      http://www.cijoint.fr/cjlink.php?file=cj201012/cijdsvL5vu.xls
      0
  3. Ça marche parfaitement, c'est exactement ce que je voulais.

    Merci beaucoup :)
    0