Macro évènementielle, je deviens fou

Bonjour,

J'ai découvert en recherchant sur internet les macros évènementielles.

C'est exactement ce que je cherche : lancer (ou pas) une macro si une cellule et une seule (M8) est modifiée.

J'ai renseigné le code suivant :

Private Sub Worksheet_Change(ByVal Target As Range)

Dim KeyCells As Range

Set KeyCells = Range("M8")

Call Liste_1

End Sub

ça marche, mais ça lance la macro à chaque modification de n'importe quelle cellule sur la feuille !

Quelle condition puis-je ajouter pour que la macro ne se lance qu'à la modification de la cellule M8 ?

Merci par avance pour votre aide,

Bonjour spy69 bienvenue sur ce forum et bonne année 2014

Merci de mettre ton code entre les balises [code ] et [ /Code] (sans espace dans les crochets)

Voici ce que tu peux faire

Private Sub Worksheet_Change(ByVal Target As Range)
  If Target.Address(0,0) = "M8" then
    Call Liste_1
  Endif
End Sub

A+

Bonjour Bruno,

Excellente année à toi et merci pour ta réponse rapide.

Malheureusement, ça ne fonctionne pas...

La macro ne se lance pas, bien que la valeur de M8 change...

Je précise que M8 est une cellule liée à une liste déroulante juste à côté (une liste de validation pour être plus précis).

Je trouve plus simple d'utiliser une liste de validation qu'un objet liste déroulante...

Est-ce que c'est ça qui met le bazar ??

Private Sub Worksheet_Change(ByVal Target As Range)
  If not intersect(target,range("M8")) is nothing then
    Call Liste_1
  Endif
End Sub

Pas bien lu ton message... Le target est la cellule qui va être ciblée... Si tu changes la cellule X1 et que en M8 tu as la formule = X1

Ta macro ne se lancera pas... Normal quoi..

Il faut dans ce cas mettre X1 au lieu de M8

Merci aussi pour ta réactivité.

Mais toujours le même problème...

Pas déclenché si liste, déclenché si valeur renseignée à la main


Soyons plus précis :

J'ai une liste de validation en I8.

En M8, une formule de rechercheV qui va chercher la valeur de I8 et ramène un numéro (1, 2, etc...).

C'est pour ça que je voulais "variabiliser" le lancement de la macro sur M8.

Car la liste de I8 comporte 80 valeurs, mais il y a 5 valeurs possibles dans M8 (certains ayant le même chiffre lié).

J'espère que tout ça est assez clair pour toi.......

Merci encore

Bonsoir SPY69

La langue française ne doit pas être assez riche pour s'expliquer de façon explicite

D'après ce que tu nous explique, le contenu de la cellule M8 se modifie effectivement

Mais tu ne modifies pas le contenu de la cellule, c'est une formule qui trouve la bonne valeur

Il faut donc utiliser I8 comme paramètre, c'est la cellule que tu modifie, en revanche avec une liste de choix ce n'est pas certain

A+

J'ai compris, je vais essayer ça.

Merci encore !

Bonne soirée

Bonjour Bruno,

Je confirme : en modifiant la référence de modification, ça marche !

Merci bcp pour ton aide !

Bon WE

Rechercher des sujets similaires à "macro evenementielle deviens fou"