Mise en forme conditionnelle sur VBA

Résolu
Bonjour,
Je suis en train de faire un tableur de suivi de réponse pour ma recherche d'emploi.
J'aimerai donc créer une macro qui hachure la ligne correspondante à la valeur "non" dans une colonne. ce que je veux faire c'est si dans la colonne G je tape non sur une ligne alors cette ligne se hachure
Pour le moment ma macro ressemble à cela mais ma partie "if select range = non then" n'est pas correct apparemment comment la modifier.

Sub réponse()
Dim i As Integer
For i = 2 To 100
Range("g" & i).Select
if select range = non then
Range(g & i).Activate
With Selection.Interior
.Pattern = xlLightUp
.PatternColorIndex = xlAutomatic
.ColorIndex = xlAutomatic
.TintAndShade = 0
.PatternTintAndShade = 0
End With
End If
End Sub

en vous remerciant par avance

3 réponses

  1. Contributeur
    Bonjour,

    bien que j' approuve totalement l'opinion et sa démonstration de ligne entière en MEFCde l'ami Vaucluse

    ci joint proposition en VBA
    Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Columns("G")) Is Nothing Then
         If Target = "non" Then
              Rows(Target.Row).Interior.Pattern = xlLightUp
         Else
              Rows(Target.Row).Interior.Pattern = xlNone
         End If
    End If
    End Sub


    macro événementiellement à copier-coller dans le module VBA de la feuille concernée

    M... puissance 13 pour ta recherche de boulot
    1
    1. Contributeur
      Bonjour
      pourquoi une macro alors qu'Excel permet de la faire avec les MFC et la formule, pour un nom en G1 et un tableau de A1 à Z100 par exemple:
      sélectionnez le tableau complet
      MFC par formule
      =$G1="non"
      format hachuré.
      (s'il s'agit d'Excel, bien sur)
      crdlmnt
      Demandons nous si nous ne sommes pas seuls à comprendre ce que l'on explique?
      0
      1. d'une part parce qu'avec les MFC je peux pas faire hachurer la ligne et d'autre part avant je savais manipuler VBA et que je suis en train de m'y remettre
        0
      2. Contributeur
        tout à fait d'accord pour vos objectifs concernant VBA, quant au fait que l'on ne peut hachurer en MFC, c'est un autre sujet!!
        Voyez ici:
        https://www.cjoint.com/?BAFnjMg17wl

        bonne route

        crdlmnt
        0
    2. bonjour, michel_m

      merci pour l'idée de macro, pourrais tu éclairer ma lanterne car je comprends en gros la macro mais je connais pas "target" à quoi cela correspond-t il.

      j'ai essayé la macro mais j'arrive pas à la lancer, comment dois'je faire.
      existe-t-il une autre solution sans passer par une private sub?
      0
      1. Contributeur
        La macro est une macro événementielle et est à installer dans un module feuille. manière simple
        tu fais un copier du code
        clic droit sur l'onglet (en bas de l'cran XL) de la feuille concernée
        visualiser le code
        coller

        target est un des param^tres de la macro
        Private Sub Worksheet_Change(ByVal Target As Range)
        déclarée en cellule(range) et désigne la cellule active

        existe-t-il une autre solution sans passer par une private sub?
        fais déjà marcher celle que je t'ai proposée: tu pourras alors juger si c'est intéressant d'appuyer sur un bouton
        0
      2. merci pour les infos cela fonctionne très bien
        0