macro auto-executable sur modification d'une donnée

R

Rico

Guest
Salut,

j'essais de lancer une macro dès que l'on modifie une cellule de ma feuille en utilisant :

dans "this workbook" l'évènement "sheetchange"

avec
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
tolérances (nom de ma macro)
End Sub


mais apparemment comme ma macro écrit elle aussi dans une dizaine de cellule, ca boucle....

Est-ce qu'il y a une possibilité de faire autrement ou de mettre en "pause" l'évènement "sheetchange" le temps que la macro finisse son execution?

Merci d'avance
 
J

Jean

Guest
Salut Rico et le forum,
Si tu ne trouves pas plus élégant, voici un exemple qui fonctionne :
dans le code de la feuille, un booleen qui permet de memoriser que la macro est en cours d'exécution et qu'il ne faut pas la relancer...
A plus.
 

Pièces jointes

  • essai.xls
    20.5 KB · Affichages: 62
  • essai.xls
    20.5 KB · Affichages: 69
  • essai.xls
    20.5 KB · Affichages: 68
L

LaurentTBT

Guest
Salut tout le monde.

Il est possible d'inhiber les procèdures événementielles par cette ligne de code à insérer au début de ta procédure:
Application.EnableEvents = False
Ainsi, un événement déclanché dans les lignes suivantes ne lancera pas la procédure événementielle correspondante.
Attention à ne pas oublier la ligne inverse à la fin de ta proc:
Application.EnableEvents = true

En espérant t'avoir aidé...

NB: je conseille à tous le site de L. Longre (http://longre.free.fr/) et notamment son explication très complète dans le chapitre programmation sur les proc. événementielle.
 

Discussions similaires

Statistiques des forums

Discussions
314 651
Messages
2 111 557
Membres
111 201
dernier inscrit
netcam