BLoquer worksheet_SelectionChange(ByVal Target As Range)

loto

XLDnaute Occasionnel
Bonsoir,

Est-il possible de bloquer temporairement l'exécution des scripts contenus dans une macro de type Private Sub Worksheet_SelectionChange(ByVal Target As Range).

Cette excécution interfère en effet avec l'éxécution de commandes contenues dans d'autres macros et j'aurais aimé inactiver ce "selection_change" au moments critiques

Merci
 

loto

XLDnaute Occasionnel
Re : BLoquer worksheet_SelectionChange(ByVal Target As Range)

Il y a effectivement des selects bidule et copier/coller
faut-il vraiment retravailler toutes ces commandes (déjà écrit/opérationnel et long) plutot que d'inactiver le sélection change??

Zut, si ce n'est pas possible ça ne m'arrange vraiment pas!!...................................................................................................
.............

C'ets vraiment pas possible?
 

Pierrot93

XLDnaute Barbatruc
Re : BLoquer worksheet_SelectionChange(ByVal Target As Range)

Bonjour loto, cc

pour désactiver les procédures événementielles :
Code:
On Error GoTo fin
Application.EnableEvents = False
'ton code
fin:
Application.EnableEvents = True
On Error GoTo 0
bonne journée
@+
 

JNP

XLDnaute Barbatruc
Re : BLoquer worksheet_SelectionChange(ByVal Target As Range)

Bonjour le fil :),
Code:
On Error GoTo fin
Application.EnableEvents = False
'ton code
fin:
Application.EnableEvents = True
On Error GoTo 0
Bravo Pierrot, je n'y avais jamais pensé à réactiver les événement en cas de plantage via la gestion des erreurs ;). A mettre dans mes tablettes :p.
Bonne journée :)
 

coco_lapin

XLDnaute Impliqué
Re : BLoquer worksheet_SelectionChange(ByVal Target As Range)

Bonjour loto, carcharodon-carcharias, Pierrot93, JNP et le forum.

En essayant le code de Pierrot je ne vois pas à quoi sert les On Error GoTo.
Les EnableEvents ne suffisent pas?

Code:
On Error GoTo fin
Application. = False
'ton code
fin:
Application.EnableEvents = True
On Error GoTo 0
 

coco_lapin

XLDnaute Impliqué
Re : BLoquer worksheet_SelectionChange(ByVal Target As Range)

Merci Pierrot pour cette information que je ne connaissais pas.

Mais a-t-on besoin de "On Error GoTo fin"?
Les EnableEvents ne suffisent pas?

J'ai essayé sans les "On Error GoTo" et cela fonctionne correctement.

Mon but est d'utiliser les EnableEvents dans des macros existantes (car à chaque selection je repassais dans la boucle de l'évenement).
 

Pierrot93

XLDnaute Barbatruc
Re : BLoquer worksheet_SelectionChange(ByVal Target As Range)

Re,

Code:
On Error GoTo fin
c'est pour gérer les erreurs, si cela se produit le code reprend directement à l'étiquette "fin" ce qui permet de rétablir les procédures événementielles... Si ce n'est pas fait, il faut remettre manuellement à "true" l'instruction ou bien relancer Excel...

pour t'en convaincre, essaye ceci, avec et sans gestion d'erreur...
Code:
On Error GoTo fin
Application.EnableEvents = False
Range("A0").Value = 123
fin:
Application.EnableEvents = True
On Error GoTo 0
 

Discussions similaires

Statistiques des forums

Discussions
312 318
Messages
2 087 208
Membres
103 493
dernier inscrit
Vidal Salvador