VBA Excel et bouton annuler dans une boite de dialogue

Résolu
xurael Messages postés 3 Date d'inscription mardi 20 septembre 2005 Statut Membre Dernière intervention 2 janvier 2006 - 30 déc. 2005 à 15:32
xurael Messages postés 3 Date d'inscription mardi 20 septembre 2005 Statut Membre Dernière intervention 2 janvier 2006 - 2 janv. 2006 à 17:01
J'ai créé un fichier avec du vb pour simplifier la prise des données sur des feuilles excel.
A un moment je veux enregristrer le document et j'utilise ca : (clique sur bouton qui déclenche l'enregistrement)

Private Sub b_save_Click()
Dim Filename As String
Filename = "Donner un nom"
Application.Dialogs(xlDialogSaveAs).Show Filename
End Sub

Il marche bien sauf que je voudrais recueuillir l'action de l'utilisateur sur la boite de dialogue "saveas".
Je voudrais savoir si la personne a appuyé sur le bouton "Annuler" ou "Enregistrer"

Je ne connais pas la commande qui me donne cette information.

Merci de l'aide

6 réponses

cs_chapata Messages postés 214 Date d'inscription mercredi 2 février 2005 Statut Membre Dernière intervention 9 avril 2010 5
30 déc. 2005 à 15:44
Salut

essai
if (Application.Dialogs(xlDialogSaveAs).Show Filename) = false then msgbox"Annuler par l'utilisateur"
else
msgbox "Validerpar l'utilisateur"
end if

ChaPaTa
3
econs Messages postés 4030 Date d'inscription mardi 13 mai 2003 Statut Membre Dernière intervention 23 décembre 2008 24
30 déc. 2005 à 15:48
Salut,



J'ai déposé une source pour détecter l'appui sur le bouton Cancel de l'InputBox.

Tu dois pouvoir très facilement l'adapter à la boite de dialogue SaveAs. (voir mes sources)


Manu
-------------------------------------------
Une question bien posée, c'est une chance de réponse bien adaptée.
3
xurael Messages postés 3 Date d'inscription mardi 20 septembre 2005 Statut Membre Dernière intervention 2 janvier 2006
2 janv. 2006 à 17:01
Merci kalobit
Mais j'ai pu résoudre mon second problème. D'alleurs je mets en dessous le bout de code que j'ai utilisé pour mon problème, j'espère que ca aidera d'autres amateur de VBA comme moi.

Private Sub b_save_Click()


Dim Filen As String
Dim boitesaveas As String
'Permet de donner un nom par défaut au tableau à sauvegarder
Filen = "Donner un nom !"
'Permettra de faire afficher la boite de dialogue avec un nom de fichier par défaut
boitesaveas = Application.Dialogs(xlDialogSaveAs).Show(Filen)
If boitesaveas = True Then
'Dans le cas où il enregistre
End
Else
'Dans le cas où il annule
End If

End Sub
3
xurael Messages postés 3 Date d'inscription mardi 20 septembre 2005 Statut Membre Dernière intervention 2 janvier 2006
30 déc. 2005 à 16:14
Merci à manu et chapata !
Vos solutions sont trés proches et satisfaits ma demande par contre ca me créait un autre soucis
J'avais écris de tel manière à mettre un nom de fichier par défaut mais avec la méthode que vous proposez ce n'est plus possible.
Je vais creuser le sujet pour savoir comment le contourner.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_chapata Messages postés 214 Date d'inscription mercredi 2 février 2005 Statut Membre Dernière intervention 9 avril 2010 5
30 déc. 2005 à 16:18
Ok sans souci, bon courage et bonne fête.
N'oubli pas de valider nos posts.

ChaPaTa
0
kalobit Messages postés 169 Date d'inscription mardi 15 juillet 2003 Statut Membre Dernière intervention 7 avril 2008 2
2 janv. 2006 à 16:08
Salut,

essaye avec application.getsaveasfilename qui renvoi false en cas d'annulation et que tu peux parametré à ta guise

La fonction ne fait que renvoyer un nom de fichier, il ne te reste plus qu'à coder l'enregistrement du fichier (application.saveas)

Et bonne année
0
Rejoignez-nous