Bonjour,
je suis en train de faire une mise en forme conditionnelle avec plus de 3 conditions. La condition est testée dans la colonne A de la ligne 1 à 100. Quand la condition est vraie, je souhaiterais que ce soit la ligne (de la colonne A à D ; soit 4 cellules). Pour l'instant j'ai trouvé ça :
Je voulais savoir s'il n'existe pas un moyen de définir une plage pour ne pas répéter le "Offset" autant de fois qu'il y a de cellule.
Pour reformuler ma demande, je voulais savoir s'il n'existe pas un moyen de lui dire : de la cellule C jusqu'à la cellule C.Offset(0, 3).
Je ne sais pas s'il faut ouvrir un autre post pour cette autre question. J'essaie quand même :
je n'ai pas réussi à définir le Target.Address autrement qu'avec une boucle. Au début, j'avais essayé :
Mais ça ne marchait pas.
Si vous avez des réponses ou des liens, merci d'avance.
Je précise que je ne suis pas pressé, je n'en ai pas besoin pour mon boulot, c'est perso, j'essaye d'apprendre VBA.
Bon week end (le notre est prolongé ; lundi fête de l'abolition de l'esclavage)
je suis en train de faire une mise en forme conditionnelle avec plus de 3 conditions. La condition est testée dans la colonne A de la ligne 1 à 100. Quand la condition est vraie, je souhaiterais que ce soit la ligne (de la colonne A à D ; soit 4 cellules). Pour l'instant j'ai trouvé ça :
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim C As Range
Dim plg As Range
Set plg = Range("A1:A100")
Dim i As Integer
For i = 1 To 100
If Target.Address = "$A$" & i Then
For Each C In plg
Select Case C
Case Is < 5
C.Interior.ColorIndex = 6
C.Offset(0, 1).Interior.ColorIndex = 6
C.Offset(0, 2).Interior.ColorIndex = 6
C.Offset(0, 3).Interior.ColorIndex = 6
Je voulais savoir s'il n'existe pas un moyen de définir une plage pour ne pas répéter le "Offset" autant de fois qu'il y a de cellule.
Pour reformuler ma demande, je voulais savoir s'il n'existe pas un moyen de lui dire : de la cellule C jusqu'à la cellule C.Offset(0, 3).
Je ne sais pas s'il faut ouvrir un autre post pour cette autre question. J'essaie quand même :
je n'ai pas réussi à définir le Target.Address autrement qu'avec une boucle. Au début, j'avais essayé :
Code:
Target.Address = "$A$1:$A$100"
Si vous avez des réponses ou des liens, merci d'avance.
Je précise que je ne suis pas pressé, je n'en ai pas besoin pour mon boulot, c'est perso, j'essaye d'apprendre VBA.
Bon week end (le notre est prolongé ; lundi fête de l'abolition de l'esclavage)