Macro explicit : detecter changement

MikeB

XLDnaute Nouveau
Salut a tous,

je ne maitrise pas bien le sujet mais souhaite faire une macro "temps réel" sur une feuille, qui detecte si une valeur est saisie ou changée dans la colonne B de B5 à B20 par exemple.
Si c'est le cas, je voudrais que la macro me mettre les cellules de C3 à E4 en couleur jaune.

Merci par avance de votre aide.
Mike
 

Jeannot45

XLDnaute Occasionnel
Re : Macro explicit : detecter changement

Bonjour,

Voici une petite piste à explorer

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim objInterSection As Range

Set objInterSection = Intersect(Target, Range("B5:B20"))

If objInterSection Is Nothing Then
Exit Sub
else
Activecell.offset(0,-1).interior.colorindex = 6
End If

End Sub

Ce petit code est à placer dans ThisWorkbook

Chaque fois que tu intervient dans une des cellules de B5 à B20, la cellule voisine se met en Jaune

A+

Jeannot
 

porcinet82

XLDnaute Barbatruc
Re : Macro explicit : detecter changement

Salut MikeB, Jeannot45,

Histoire de faire un peu de zel, je te propose le code suivant :
PHP:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("B5:B20")) Is Nothing Then Range("C3:E4").Interior.ColorIndex = 6
End Sub

Par rapport a Jeannot, j'a utiliser l'evenement Change et non SelectionChange qui il me semble correspond plus a ta demande. Bien entendu, le code est a mettre dans le module de la feuille concernée.

@+
 

Jeannot45

XLDnaute Occasionnel
Re : Macro explicit : detecter changement

Salut Porcinet, MikeB

J'ai opté pour SelectionChange plutot que Change parce qu'il s'agit d'une modification du contenu des cellules et pas d'un changement de feuille dans le classeur

Du moins, il m'avait semblé comprendre ...

Jeannot
 

porcinet82

XLDnaute Barbatruc
Re : Macro explicit : detecter changement

re,

Tu as mal compris ce que signifiais Worksheet_Change, il s'agit de d'executer la macro lorsque l'on modifie le cotenue d'une cellle sur une feuille et non pas lorsque l'on change de feuille.
Le problème avec SelectionChange, c'est que meme si tu ne modifies pas une cellule, la macro est executée.

Moi jte dis ca, apres tu fais ce que tu veux, je voulais juste t'expliquer.

@+
 

MikeB

XLDnaute Nouveau
Re : Macro explicit : detecter changement

Merci a vous tous,

Jeannot, je n'arrive pas a faire fonctionner ton code.
je l'ai mis dans un nouveau classeur et ca ne fait rien .?!
Merci !!
 

Pièces jointes

  • Classeur1.zip
    4.4 KB · Affichages: 31
  • Classeur1.zip
    4.4 KB · Affichages: 39
  • Classeur1.zip
    4.4 KB · Affichages: 36
Dernière édition:

porcinet82

XLDnaute Barbatruc
Re : Macro explicit : detecter changement

re,

Il faut mettre le code dans le module de la feuille sur laquelle tu veux que la macro s'execute (dans le classeur que tu mets en pièces jointes, la Feuil1) et non dans le module ThisWorkbook.

Voili, voilou,

@+
 

Discussions similaires