Commondialogu, l'appuie sur annuler enregistre quand même

cs_snake57 Messages postés 204 Date d'inscription vendredi 19 novembre 2004 Statut Membre Dernière intervention 1 novembre 2011 - 27 avril 2006 à 15:13
crenaud76 Messages postés 4172 Date d'inscription mercredi 30 juillet 2003 Statut Membre Dernière intervention 9 juin 2006 - 27 avril 2006 à 23:04
bonjour,

Lorsque je clique sur "annuler" du commondialogu et qu'un nom de fichier est renseigner celui ci est créé O_o

Voici mon code:

commondialog1.initdir = app.path
commondialog1.cancelerror = true
on error goto fin
commondialog1.showsave
fichier=commondialog1.filename
if fichier <> "" then
   open fichier for output as #1
   print #1, "création ok"
   close #1
endif

Voila donc si qqn voit d'ou vient ce bug sa m'aiderait beaucoup.

4 réponses

crenaud76 Messages postés 4172 Date d'inscription mercredi 30 juillet 2003 Statut Membre Dernière intervention 9 juin 2006 28
27 avril 2006 à 15:32
Il manque l'étiquette "fin" dans ton code !
0
cs_snake57 Messages postés 204 Date d'inscription vendredi 19 novembre 2004 Statut Membre Dernière intervention 1 novembre 2011
27 avril 2006 à 15:43
Non elle ne manque pas c'est en recopiant mon code que j'ai oublié de la mettre. En fait elle se situe au dessus du "end sub" pour qu'en cas d'erreur on sorte directement.
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
27 avril 2006 à 16:23
Salut,

est tu sur que le probleme vienne de cet endroit la, car je ne vois pas ce qu il y a de mal...
Essaie peu etre en ajoutant Fichier = "" juste avant le commondialog1.showsave.

@+, Julien
Pensez: Moteur de Recherche, Réponse Acceptée
0
crenaud76 Messages postés 4172 Date d'inscription mercredi 30 juillet 2003 Statut Membre Dernière intervention 9 juin 2006 28
27 avril 2006 à 23:04
Si l'étiquette est après le "End Sub", c'est normal que ca foire !!!! Un gestionnaire doit impérativement se trouver DANS la procédure/fonction ou on risque de l'invoquer, donc avant ton End Sub. POur sortir de la procédure si aucune erreur ne se produit, il faut utiliser Exit Sub.
En gros cela donne :

Sub Machinchose()
Blablabla inofensif
On Error Goto ErrHdlr
Blablabla risquant de provoqué une erreur
Exit Sub

ErrHdlr:
Blablabla gérant l'erreur
End Sub
0
Rejoignez-nous