cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 5 juil. 2010 à 16:06
Salut
Et qu'y a t-il dans ton bouton Annuler ?
Dans cette procédure, Workbook_BeforeSave, si tu positionnes la variable Cancel à True, la véritable commande de sauvegarde ne sera pas lancée (comme expliqué dans l'aide).
Vala
Jack, MVP VB NB : Je ne répondrai pas aux messages privés
Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
dam660
Messages postés21Date d'inscriptiondimanche 7 janvier 2007StatutMembreDernière intervention 5 juillet 20101 5 juil. 2010 à 16:23
oui j'ai lu la page d'aide concernant cette procédure !
en fait il y a un bouton "annuler" de ma création, mais comment passer cette variable Cancel (de la méthode _BeforeSave) à true, alors que c'est mon userform qui à la main ?
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 5 juil. 2010 à 16:43
Comment le Userform a t-il la main ?
Quel programme as-tu mis dans cette Sub ?
Si tu ne nous dis rien, on va pas le deviner !
Si ton bouton Annuler doit agir sur un programme qui, par exemple, tourne en boucle, il suffit d'utiliser une variable de type Boolean et déclarée en Public dans la partie Déclarations d'un Module.
Public bAnnuler As Boolean
puis, dans le code du bouton Annuler, de faire un simple
bAnnuler = True
Ensuite, dans ta Sub Workbook_BeforeSave, à l'intérieur de ta boucle (exemple), deux choses à faire :
- Insérer un DoEvents dans la boucle afin que le système puisse reprendre la main régulièrement (pour traiter le code du bouton annuler, par exemple)
- Tester l'état de ta variable pour décider de sortir :
If bAnnuler Then
Cancel = True
Exit Sub
End If
Pense à remettre à False cette même variable avant de commencer.