Procédure évènementiel sur cellule colorisé

Résolu
daiman Messages postés 41 Date d'inscription   Statut Membre Dernière intervention   -  
daiman Messages postés 41 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
j'ai écrit une macro qui, lorsque je la lance, va chercher toutes les cellules colorisé en rouge d'un plage puis met à 1 la cellule juste en dessous de la cellule colorisé. j'ai voulu mettre sa en automatique mais j'y suis arrivé que partiellement.
c'à dire que la cellule ce met à 1 lorsque l'autre cellues est rouge et non vide. hors moi je veu quel passe à dès que je colorise la cellule.!!!
voilà ma procédure:
Private Sub Worksheet_Change(ByVal target As Range, couleurFond)
Dim Plage As Range
Set Plage = Intersect(target, Range("d5:dy5"))
If Plage Is Nothing Then Exit Sub
For Each cellule In Plage
If cellule.Interior.ColorIndex = 3 Then
cellule.Select
colonne = ActiveCell.Column
ligne = ActiveCell.Row
a = ligne + 1
Cells(a, colonne).Value = 1
Else
If cellule.Interior.ColorIndex = xlNone Then
cellule.Select
colonne = ActiveCell.Column
ligne = ActiveCell.Row
a = ligne + 1
Cells(a, colonne).Value = 0
End If
End If
Next
End Sub
A voir également:

1 réponse

eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
Bonsoir,

déjà pour gagner de la place tu peux utiliser .offset()

If cellule.Interior.ColorIndex = 3 Then
cellule.offset(1,0).value = 1 ' 1ligne plus bas, même colonne
elseif cellule.Interior.ColorIndex = xlnone
cellule.offset(1,0).value = 0
endif

et tu utilises l'evenement change qui est appelé si le contenu (sa valeur) de la cellule change. Saisi un espace pour déclencher ton evenement...

Tu n'as pas d'evenement sur le changement de couleur.

eric
0
daiman Messages postés 41 Date d'inscription   Statut Membre Dernière intervention  
 
à ben voilà. je te remerci. s'il n'y pas d'évènement lié à la couleur alors je me prend la tête depuis un momment pour rien.
encore merci
0