Comment lancer une macro quand la valeur d'un cell change. [Résolu]

Signaler
Messages postés
62
Date d'inscription
jeudi 26 mai 2005
Statut
Membre
Dernière intervention
30 mai 2017
-
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
-
Bonjour, je voudrais savoir quelle est la commande de privat sub pour lancer une macro lorsque la valeur d'une cell change. Pour que la macro me remette a jour un liste dans un menu deroulant.

PAr exemple si je tape 11, il me met uniquement les valeurs commancant par 11...

Et je voulais connaitre la comande pour remettre a jour un menu deroulant qui se nome "zone combiné 1".

Merci d'avance pour vos reponses.

Vevel.

3 réponses

Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
50
Salut,
Tu peux peu être regarder du cote de l'événement suivant de l'objet WorkSheet
Private Sub Worksheet_SelectionChange(ByVal Target As Range)

End Sub

cet événement ne se déclanchera que lorsque tu auras changé de cellule après avoir modifier la valeur.

@+: Ju£i?n
Pensez: Réponse acceptée
Messages postés
62
Date d'inscription
jeudi 26 mai 2005
Statut
Membre
Dernière intervention
30 mai 2017
1
Oui mais justement, j'ai essayé avec SelectionChange, mais ce ne fonctionne que lorsque tu selectionne la cells. J'aimerais savoir le code qui me premettrais de remettre a jour la liste lorsque je suis dans la cells, ou au pire, lorsque je valide avec entree.

Autre question, a quoi servent ByVal, Target et Range? Si je souhaite que la macro se lance lorsque je change la valeur de la cell A5 uniquement, dois-je changer ces valeurs et de quelle facon?
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
50
Salut,
ByVal : Indique que l'argument est passé
<object id="alink_14" type="application/x-oleobject" classid="clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11"></object>[javascript:alink_14.Click() par valeur].
Target: Nom DU parametre recu avec l'événement
Range, Type du paramete.
Ceci est la déclaration de l'événement tu de DOIS pas la changer....

Tu peux essayer un truc du style
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If ActiveSheet.Range("A5").Value = 11 Then Call TaMacro
End Sub

Sinon pour "espionner" la valeur d'une cellule je ne sais pas trop comment faire

@+: Ju£i?n
Pensez: Réponse acceptée