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

Messages postés
3
Date d'inscription
mardi 20 septembre 2005
Dernière intervention
2 janvier 2006
- 30 déc. 2005 à 15:32 - Dernière réponse :
Messages postés
3
Date d'inscription
mardi 20 septembre 2005
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
Afficher la suite 

6 réponses

Meilleure réponse
Messages postés
215
Date d'inscription
mercredi 2 février 2005
Dernière intervention
9 avril 2010
30 déc. 2005 à 15:44
3
Merci
Salut

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

ChaPaTa

Merci cs_chapata 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 93 internautes ce mois-ci

Meilleure réponse
Messages postés
4066
Date d'inscription
mardi 13 mai 2003
Dernière intervention
23 décembre 2008
30 déc. 2005 à 15:48
3
Merci
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.

Merci econs 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 93 internautes ce mois-ci

Meilleure réponse
Messages postés
3
Date d'inscription
mardi 20 septembre 2005
Dernière intervention
2 janvier 2006
2 janv. 2006 à 17:01
3
Merci
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

Merci xurael 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 93 internautes ce mois-ci

Messages postés
3
Date d'inscription
mardi 20 septembre 2005
Dernière intervention
2 janvier 2006
30 déc. 2005 à 16:14
0
Merci
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
215
Date d'inscription
mercredi 2 février 2005
Dernière intervention
9 avril 2010
30 déc. 2005 à 16:18
0
Merci
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
Dernière intervention
7 avril 2008
2 janv. 2006 à 16:08
0
Merci
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

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.