VBA Excel et bouton annuler dans une boite de dialogue [Résolu]

Signaler
Messages postés
3
Date d'inscription
mardi 20 septembre 2005
Statut
Membre
Dernière intervention
2 janvier 2006
-
Messages postés
3
Date d'inscription
mardi 20 septembre 2005
Statut
Membre
Dernière intervention
2 janvier 2006
-
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

Messages postés
214
Date d'inscription
mercredi 2 février 2005
Statut
Membre
Dernière intervention
9 avril 2010
4
Salut

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

ChaPaTa
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 123 internautes nous ont dit merci ce mois-ci

Messages postés
4030
Date d'inscription
mardi 13 mai 2003
Statut
Modérateur
Dernière intervention
23 décembre 2008
21
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
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 123 internautes nous ont dit merci ce mois-ci

Messages postés
3
Date d'inscription
mardi 20 septembre 2005
Statut
Membre
Dernière intervention
2 janvier 2006

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
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 123 internautes nous ont dit merci ce mois-ci

Messages postés
3
Date d'inscription
mardi 20 septembre 2005
Statut
Membre
Dernière intervention
2 janvier 2006

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.
Messages postés
214
Date d'inscription
mercredi 2 février 2005
Statut
Membre
Dernière intervention
9 avril 2010
4
Ok sans souci, bon courage et bonne fête.
N'oubli pas de valider nos posts.

ChaPaTa
Messages postés
169
Date d'inscription
mardi 15 juillet 2003
Statut
Membre
Dernière intervention
7 avril 2008
2
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