Signaler

Sélectionner une plage en fonction de la valeur d'une cellule [Résolu]

Posez votre question Cottages 8Messages postés dimanche 10 novembre 2013Date d'inscription 15 juin 2017 Dernière intervention - Dernière réponse le 19 mai 2017 à 21:43 par Cottages
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.

Utile
+0
plus moins
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...
Donnez votre avis
Utile
+0
plus moins
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
Donnez votre avis
Utile
+0
plus moins
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
Donnez votre avis
Utile
+0
plus moins
Ca marche impeccable!
Comment sélectionner maintenant les cellules actives uniquement dans la plage A1 A10?
Donnez votre avis
Utile
+0
plus moins
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...
Donnez votre avis
Utile
+0
plus moins
Merci beaucoup, Mike!
Donnez votre avis

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !