OVH Cloud OVH Cloud

vba Enregistrer sous

4 réponses
Avatar
philippe
Bonjour,

Je souhaite disposer un bouton enregistrer à mes utilisateurs.
Je compose le nom du fichier en fonction de certaines variables,
et je voudrais que ce soit :
- soit sauvegardé dans le répertoire mes documents de l'utilisateur
- soit ouvrir la boite de dialogue "enregistrer sous" en y mettant le nom de
fichier généré, mais en laissant le chemin par défaut.
En fait dans les deux cas, je voudrais que la boite de dialogue soit
ouverte, pour que l'utilisateur puisse bien voir qu'il a sauvegardé le
fichier.

Or je ne sais pas comment faire ça.
En effet ActiveWorkbook.SaveAs Filename:= ... sauvegarde sans prompter
l'utilisateur

Merci de votre aide,
Philippe

4 réponses

Avatar
papou
Bonjour
Filename = "toto.xls"
ccc = Application.GetSaveAsFilename(Filename)
Thisworkbook.SaveAs Filename

Cordialement
Pascal

"philippe" a écrit dans le message de
news:
Bonjour,

Je souhaite disposer un bouton enregistrer à mes utilisateurs.
Je compose le nom du fichier en fonction de certaines variables,
et je voudrais que ce soit :
- soit sauvegardé dans le répertoire mes documents de l'utilisateur
- soit ouvrir la boite de dialogue "enregistrer sous" en y mettant le nom
de
fichier généré, mais en laissant le chemin par défaut.
En fait dans les deux cas, je voudrais que la boite de dialogue soit
ouverte, pour que l'utilisateur puisse bien voir qu'il a sauvegardé le
fichier.

Or je ne sais pas comment faire ça.
En effet ActiveWorkbook.SaveAs Filename:= ... sauvegarde sans prompter
l'utilisateur

Merci de votre aide,
Philippe



Avatar
papou
Oups !!
Thisworkbook.SaveAs ccc

Cordialement
Pascal

"papou" <cestpasbon@çanonplus> a écrit dans le message de news:

Bonjour
Filename = "toto.xls"
ccc = Application.GetSaveAsFilename(Filename)
Thisworkbook.SaveAs Filename

Cordialement
Pascal

"philippe" a écrit dans le message de
news:
Bonjour,

Je souhaite disposer un bouton enregistrer à mes utilisateurs.
Je compose le nom du fichier en fonction de certaines variables,
et je voudrais que ce soit :
- soit sauvegardé dans le répertoire mes documents de l'utilisateur
- soit ouvrir la boite de dialogue "enregistrer sous" en y mettant le nom
de
fichier généré, mais en laissant le chemin par défaut.
En fait dans les deux cas, je voudrais que la boite de dialogue soit
ouverte, pour que l'utilisateur puisse bien voir qu'il a sauvegardé le
fichier.

Or je ne sais pas comment faire ça.
En effet ActiveWorkbook.SaveAs Filename:= ... sauvegarde sans prompter
l'utilisateur

Merci de votre aide,
Philippe







Avatar
philippe
Merci Papou.

Puis-je récupérer la réponse "enregistrer | annuler" à la boite de dialogue
? Afin d'éviter que ça enregistre quand même si l'utilisateur annule ?

Sais-tu si il existe une fonction vba excel qui fasse déjà tous les tests
sur les noms de fichier : par exemple pour éviter le lancement du débogage si
mon user a mis un : dans son nom de fichier ? Ou bien faut-il que j'en
créé/récupère une ?

Cordialement,
Philippe


Bonjour
Filename = "toto.xls"
ccc = Application.GetSaveAsFilename(Filename)
Thisworkbook.SaveAs Filename

Cordialement
Pascal

"philippe" a écrit dans le message de
news:
Bonjour,

Je souhaite disposer un bouton enregistrer à mes utilisateurs.
Je compose le nom du fichier en fonction de certaines variables,
et je voudrais que ce soit :
- soit sauvegardé dans le répertoire mes documents de l'utilisateur
- soit ouvrir la boite de dialogue "enregistrer sous" en y mettant le nom
de
fichier généré, mais en laissant le chemin par défaut.
En fait dans les deux cas, je voudrais que la boite de dialogue soit
ouverte, pour que l'utilisateur puisse bien voir qu'il a sauvegardé le
fichier.

Or je ne sais pas comment faire ça.
En effet ActiveWorkbook.SaveAs Filename:= ... sauvegarde sans prompter
l'utilisateur

Merci de votre aide,
Philippe








Avatar
papou
Tu peux commencer par quelque chose dans ce goût-là :
Dim NomFic$
NomFic = "test020506.xls"
zozo = Application.GetSaveAsFilename(NomFic)
On Error GoTo YaUnOs
If zozo = False Or Right(zozo, 14) <> NomFic Then _
Err.Raise 52
ThisWorkbook.SaveAs zozo
Exit Sub

YaUnOs:
MsgBox "le nom que tu as défini est incorrect", vbExclamation, "Erreur"

Cordialement
Pascal

"philippe" a écrit dans le message de
news:
Merci Papou.

Puis-je récupérer la réponse "enregistrer | annuler" à la boite de
dialogue
? Afin d'éviter que ça enregistre quand même si l'utilisateur annule ?

Sais-tu si il existe une fonction vba excel qui fasse déjà tous les tests
sur les noms de fichier : par exemple pour éviter le lancement du débogage
si
mon user a mis un : dans son nom de fichier ? Ou bien faut-il que j'en
créé/récupère une ?

Cordialement,
Philippe


Bonjour
Filename = "toto.xls"
ccc = Application.GetSaveAsFilename(Filename)
Thisworkbook.SaveAs Filename

Cordialement
Pascal

"philippe" a écrit dans le message
de
news:
Bonjour,

Je souhaite disposer un bouton enregistrer à mes utilisateurs.
Je compose le nom du fichier en fonction de certaines variables,
et je voudrais que ce soit :
- soit sauvegardé dans le répertoire mes documents de l'utilisateur
- soit ouvrir la boite de dialogue "enregistrer sous" en y mettant le
nom
de
fichier généré, mais en laissant le chemin par défaut.
En fait dans les deux cas, je voudrais que la boite de dialogue soit
ouverte, pour que l'utilisateur puisse bien voir qu'il a sauvegardé le
fichier.

Or je ne sais pas comment faire ça.
En effet ActiveWorkbook.SaveAs Filename:= ... sauvegarde sans
prompter
l'utilisateur

Merci de votre aide,
Philippe