Sélectionner une plage en fonction de la valeur d'une cellule

Résolu
Bonjour,

Quel travail ,vous faites!! bravo!

Mon cas est le suivant: à partir de la valeur dans une cellule active (cliquée dans une plage), je voudrais colorer les cellules d'une plage de cellules (à valeurs croissantes) jusqu'à cette valeur.
Ou plus simplement expliqué:

Je clique sur A2, plage A1 A20, valeur 250.
Toutes les cellules de la plage C1 C10, seront colorées jusqu'à la cellule C5 qui a la valeur 223 et pas plus loin puisque C6=270.

Merci beaucoup.

6 réponses

  1. Bonjour,

    cela n'est pas très compliqué, mais avec le VBA il faut être précis et comprendre ta demande

    si je comprends bien en colonne A tu as une série de valeurs et lorsque tu clic sur une valeur de ta plage A tu veux coloriser les valeurs inférieures à cette valeur colonne C

    Mais s'agit il toujours de la plage colonne C ou as tu d'autres plages à coloriser !

    A+
    Mike-31

    Je suis responsable de ce que je dis, pas de ce que tu comprends...
    0
    1. Merci pour cette réponse rapide!

      C'est exactement ça.
      Il n'y a qu'une plage à colorer, dans l'exemple c'est la plage C1 C10 (enfin jusqu'à C5 seulement).
      Merci
      0
      1. Re,

        voilà un code dans ce genre
        Private Sub Worksheet_SelectionChange(ByVal Target As Range)
        Range("C1:C10").Interior.ColorIndex = 6
        For Each i In Range("C1:C10")
        If i < Target Then i.Interior.ColorIndex = 3
        Next i
        End Sub

        certainement à compléter
        0
        1. Ca marche impeccable!
          Comment sélectionner maintenant les cellules actives uniquement dans la plage A1 A10?
          0
          1. Re,

            voila le code a coller dans les propriétés de ta feuille (clic droit sur l'onglet de ta feuille/Visualiser le code)

            Private Sub Worksheet_SelectionChange(ByVal Target As Range)
            On Error Resume Next
            If Not Intersect(Selection, Range("A1:A20")) Is Nothing Then
            Range("C1:C10").Interior.ColorIndex = xlNone
            For Each i In Range("C1:C10")
            If i < Target Then i.Interior.ColorIndex = 3
            Next i
            End If
            End Sub

            A+
            Mike-31

            Je suis responsable de ce que je dis, pas de ce que tu comprends...
            0
            1. Merci beaucoup, Mike!
              0