Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

VBA. Worksheet_Change ne fonctionne pas quand la valeur modifiée provient d'une liste...

6 réponses
Avatar
HD
Bonjour,

Dans une cellule j'ai une liste de valeur (Données / Validation / Liste). Je
voudrais lancer du VBA lorsque cette valeur change mais le problème est que
si j'utilise le menu déroulant pour changer la valeur alors l'événement
Worksheet_Change ne se déclenche pas... Il ne se déclenche à priori que si
l'on saisi soit même la valeur...

Y'a-t-il un moyen d'avoir un événement sur une liste ?

Merci d'avance pour votre aide...

--
@+
HD

6 réponses

Avatar
Daniel
Bonjour.
Ca fonctionne pourtant chez moi (XL2003). Est-tu sûr que l'évenènement se
déclenche par saisie manuelle ?
Cordialement.
Daniel
"HD" a écrit dans le message de news:
d9bble$13dq$
Bonjour,

Dans une cellule j'ai une liste de valeur (Données / Validation / Liste).
Je
voudrais lancer du VBA lorsque cette valeur change mais le problème est
que
si j'utilise le menu déroulant pour changer la valeur alors l'événement
Worksheet_Change ne se déclenche pas... Il ne se déclenche à priori que si
l'on saisi soit même la valeur...

Y'a-t-il un moyen d'avoir un événement sur une liste ?

Merci d'avance pour votre aide...

--
@+
HD




Avatar
anonymousA
bonjour,

il n'y a pas de difficulté à déclencher l'evenement change de la feuille
concernée en cas de choix d'un élément de la liste de validation.
Es-tu sur que ton gestionnaire d'evenements est en fonction.

POur le mettre en focntion écris la sub suivante dans un module quelconque

Sub remettre
Application.enableevents=true
end sub

puis réessaye de changer la valeur de la liste. Ca doit marcher car il n'y a
à priori aucune raison du contraire.

A+


Bonjour,

Dans une cellule j'ai une liste de valeur (Données / Validation / Liste). Je
voudrais lancer du VBA lorsque cette valeur change mais le problème est que
si j'utilise le menu déroulant pour changer la valeur alors l'événement
Worksheet_Change ne se déclenche pas... Il ne se déclenche à priori que si
l'on saisi soit même la valeur...

Y'a-t-il un moyen d'avoir un événement sur une liste ?

Merci d'avance pour votre aide...

--
@+
HD





Avatar
AV
C'est un bugg(ou insuffisance ?) de XL97 : pas de déclenchement d'évènement par
une liste de validation !
La solution :
La liste de valid est en A1 de "Feuil1"
En A1 de "Feuil2" (à masquer ensuite) = Feuil1!A1
Dans le module de "Feuil2" :

Private Sub Worksheet_Calculate()
maMacro
'ou une instruction quelconque
End Sub

AV
Avatar
HD
C'est un bugg(ou insuffisance ?) de XL97:
pas de déclenchement d'évènement par une
liste de validation !
Voila. Je suis bien sous XL97.


La solution :
La liste de valid est en A1 de "Feuil1"
En A1 de "Feuil2" (à masquer ensuite) = Feuil1!A1
Dans le module de "Feuil2" :
Private Sub Worksheet_Calculate()
maMacro
'ou une instruction quelconque
End Sub
Mon problème est que le mode de calcul n'est pas sur 'Automatique' mais sur

'Sur ordre'.

--
@+
HD

Avatar
AV
Mon problème est que le mode de calcul n'est pas sur 'Automatique' mais sur
'Sur ordre'.


C'est une grave erreur....

AV

Avatar
HD
Mon problème est que le mode de calcul
n'est pas sur 'Automatique' mais sur
'Sur ordre'.
C'est une grave erreur....

Ce n'est pas une erreur car je suis obligé d'en passer par là car les

classeurs sont assez gros et j'ai des liens OLE pour récupérer des données
d'un logiciel de comptabilité. Si je mets le mode de calcul en automatique
alors il se passe plusieurs secondes de calcul entre chaque saisie d'une
seule cellule...
--
@+
HD