VBA gestion evenementielle

Le
Toto
Bonjour,
Je souhaite réaliser une macro qui se déclenche lorsqu'une cellule bien
précise (A2) d"une feuille Excel est modifiée.
Pour ce faire, utilise la commande VBA : Worksheet_Change et mon programme
se présente de la façon suivante :

Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If Target.Address = "$A$2" And Target.Count = 1 Then
Target = Application.Run("MaMacro")
End If
Application.EnableEvents = True
End Sub

Cette macro fonctionne très bien si la cellule A2 se trouve modifiée :
- par une saisie au clavier
- un coller via le menu Edition/Coller
- Ctrl + V
Par contre elle bugue lorsqu'un coller est réalisé par un clic droit de la
souris (Plantage Excel).
Je pense que le clic droit (événement en VBA) doit y être pour quelquechose
(apparemment Application.EnableEvents ne change rien à l'affaire).

Merci par avance à ceux qui pourraient m'éclairer
Cdlt

Gaston
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Daniel.C
Le #16330111
Bonjour.
J'ai utilisé ton code dans classeur neuf sans problème. La problème vient
peut-être d'une autre macro. Poste l'ensemble de ton code, si ce n'est pas
trop volumineux. Est-ce qu'il y a un message avec le plantage Excel ?
Cordialement.
Daniel
"Toto" 487c761a$0$856$
Bonjour,
Je souhaite réaliser une macro qui se déclenche lorsqu'une cellule bien
précise (A2) d"une feuille Excel est modifiée.
Pour ce faire, utilise la commande VBA : Worksheet_Change et mon programme
se présente de la façon suivante :

Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If Target.Address = "$A$2" And Target.Count = 1 Then
Target = Application.Run("MaMacro")
End If
Application.EnableEvents = True
End Sub

Cette macro fonctionne très bien si la cellule A2 se trouve modifiée :
- par une saisie au clavier
- un coller via le menu Edition/Coller
- Ctrl + V
Par contre elle bugue lorsqu'un coller est réalisé par un clic droit de la
souris (Plantage Excel).
Je pense que le clic droit (événement en VBA) doit y être pour
quelquechose (apparemment Application.EnableEvents ne change rien à
l'affaire).

Merci par avance à ceux qui pourraient m'éclairer
Cdlt

Gaston



Toto
Le #16331011
Bonjour et merci Daniel pour m'avoir consacré un peu de ton temps.
Le plantage vient effectivement de la macro appelée. Le problème était du à
une instruction (Application.ScreenUpdating = false) non remise à True.
Lancée seule, cette macro s'executait bien mais via le Worksheet_Change, ce
que je prenais pour un plantage d'Excel était en fait l'écran du PC non
réactivé.
Ouf....
Cdlt
gaston

"Daniel.C"
Bonjour.
J'ai utilisé ton code dans classeur neuf sans problème. La problème vient
peut-être d'une autre macro. Poste l'ensemble de ton code, si ce n'est pas
trop volumineux. Est-ce qu'il y a un message avec le plantage Excel ?
Cordialement.
Daniel
"Toto" 487c761a$0$856$
Bonjour,
Je souhaite réaliser une macro qui se déclenche lorsqu'une cellule bien
précise (A2) d"une feuille Excel est modifiée.
Pour ce faire, utilise la commande VBA : Worksheet_Change et mon
programme se présente de la façon suivante :

Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If Target.Address = "$A$2" And Target.Count = 1 Then
Target = Application.Run("MaMacro")
End If
Application.EnableEvents = True
End Sub

Cette macro fonctionne très bien si la cellule A2 se trouve modifiée :
- par une saisie au clavier
- un coller via le menu Edition/Coller
- Ctrl + V
Par contre elle bugue lorsqu'un coller est réalisé par un clic droit de
la souris (Plantage Excel).
Je pense que le clic droit (événement en VBA) doit y être pour
quelquechose (apparemment Application.EnableEvents ne change rien à
l'affaire).

Merci par avance à ceux qui pourraient m'éclairer
Cdlt

Gaston







Publicité
Poster une réponse
Anonyme