Bouton sauvegarde Excel VBA

Résolu
antoine_ferard Messages postés 222 Date d'inscription mercredi 5 avril 2006 Statut Membre Dernière intervention 18 février 2011 - 10 janv. 2008 à 16:20
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 - 11 janv. 2008 à 12:27
Bonjour,

J'ai un fichier excel en lecture seule.
J'ai créé un bouton "VB", qui permet de sauvegarder le fichier "sous...", en qqsorte, j'aimerais savoir comment, sur le clik du bouton, ouvrir la fenêtre "enregistrer sous...". Et j'aimerais aussi pouvoir récupérer, dans une variable, le chemin dans lequel le fichier a été sauvegarder.

''***************************************************************************
...à votre service
Thanks & Peace
Tonio

19 réponses

cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
11 janv. 2008 à 03:31
Et ceci ?
 
   Dim NewFilename As String
   NewFilename = Application.GetSaveAsFilename(ActiveWorkbook.Name, "Fichiers Excel (*.xls),*.xls")
   ActiveWorkbook.SaveAs NewFilename

Ça prend toutefois quelques validations...

MPi²
Pour ceux qui programment sous Office, n'oubliez pas qu'il existe un forum dédié à ces applications VBA....... ICI
3
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
10 janv. 2008 à 16:26
Salut,

Utilises pour cela le contrôle : ComonDialog

A+
Exploreur

 Linux a un noyau, Windows un pépin

 
0
antoine_ferard Messages postés 222 Date d'inscription mercredi 5 avril 2006 Statut Membre Dernière intervention 18 février 2011 3
10 janv. 2008 à 16:31
hum...


j'aimerais éviter justement le comonDialog, car ça risque de faire des erreurs selon le poste de l'utilisateur, s'il na pa tous les controles sur sa machine...


N' y aurait-il pa possibilité de faire "comme si" l'utilisateur cliquait sur la "petite disquette" ? :-/

''***************************************************************************
...à votre service
Thanks & Peace
Tonio
0
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
10 janv. 2008 à 16:40
Re,

Ben, fais toi ta propre UserForm alors.....

A+
Exploreur

 Linux a un noyau, Windows un pépin

 
0

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

Posez votre question
antoine_ferard Messages postés 222 Date d'inscription mercredi 5 avril 2006 Statut Membre Dernière intervention 18 février 2011 3
10 janv. 2008 à 16:42
Pas possible de forcer un clik sur la "ptite diskette" ? :-/

''***************************************************************************
...à votre service
Thanks & Peace
Tonio
0
antoine_ferard Messages postés 222 Date d'inscription mercredi 5 avril 2006 Statut Membre Dernière intervention 18 février 2011 3
10 janv. 2008 à 16:47
le fichier excel "origine" étant en lecture seule, je pensais qu'en faisant un "thisWorkBook.Save" ça m'ouvrierais la boite "enregistrer sous..." mais "même pas", ça enregistre même si le fichier est en lecture seul... :-/ galèèère

''***************************************************************************
...à votre service
Thanks & Peace
Tonio
0
zen69 Messages postés 584 Date d'inscription jeudi 28 décembre 2006 Statut Membre Dernière intervention 29 avril 2010 1
10 janv. 2008 à 16:58
Mais quel est le but de tout ca?

Pourquoi pas simplement faire un file save as ?

<hr size="2" width="100%" />  zen69 aka Ortho Le Profett
  [site web]
0
antoine_ferard Messages postés 222 Date d'inscription mercredi 5 avril 2006 Statut Membre Dernière intervention 18 février 2011 3
10 janv. 2008 à 17:01
ok, et je fais "saveas" dans quel répertoire ? l'utilisateur doit pouvoir choisir le répertoire où il veut sauvegarder son fichier... you know ?

''***************************************************************************
...à votre service
Thanks & Peace
Tonio
0
zen69 Messages postés 584 Date d'inscription jeudi 28 décembre 2006 Statut Membre Dernière intervention 29 avril 2010 1
10 janv. 2008 à 17:08
Mais lorsque tu fais saveas, le dialogue d'enregistrement s'affiche... donc l'utilisateur peut choisir son repertoire...

<hr size="2" width="100%" />  zen69 aka Ortho Le Profett
  [site web]
0
antoine_ferard Messages postés 222 Date d'inscription mercredi 5 avril 2006 Statut Membre Dernière intervention 18 février 2011 3
10 janv. 2008 à 17:19
ah bon ??
Bah crotte, t'es sûr de toi ??
Attends je retente parcequ'il me semble qu'il faut mettre, derrière le "saveas", un chemin de sauvegarde... non ? :-/

''***************************************************************************
...à votre service
Thanks & Peace
Tonio
0
antoine_ferard Messages postés 222 Date d'inscription mercredi 5 avril 2006 Statut Membre Dernière intervention 18 février 2011 3
10 janv. 2008 à 17:31
En effectuant un "SaveAs", le fichier d'origine est écrasé, même s'il est en lecture seul, à aucun moment la fenêtre "enregistrer sous" ne s'affiche :-/ galèèèère (tjrs)

''***************************************************************************
...à votre service
Thanks & Peace
Tonio
0
zen69 Messages postés 584 Date d'inscription jeudi 28 décembre 2006 Statut Membre Dernière intervention 29 avril 2010 1
10 janv. 2008 à 17:47
Si tu utilise vba oui mais si tu utilise les menu non ...

Le truc que je comprends pas c'est pourquoi tu ne veux pas que le user utilise le menu au lieu de patenter une macro qui fait quelque chose de built-in.

<hr size="2" width="100%" />  zen69 aka Ortho Le Profett
  [site web]
0
antoine_ferard Messages postés 222 Date d'inscription mercredi 5 avril 2006 Statut Membre Dernière intervention 18 février 2011 3
10 janv. 2008 à 17:57
Bah wé, c'est clair qu'il faudrait juste que ce **!?@# d'utilisateur clique sur la disquette, mais "non"... je dois faire un bouton qui fait exactement la même action que la disquette. J'ai un fichier excel en lecture seule, l'user rempli des données dans ce fichier, et sauvegarde où il le désire. Voilà... j'ai toujours pas trouvé, alors que ça parait assez simple quand-même, mais bon... ya des choses simples que l'on ne peut pas faire, ça je le sais... je continue de chercher... je mettrais la réponse ici si je trouve... merci

''***************************************************************************
...à votre service
Thanks & Peace
Tonio
0
zen69 Messages postés 584 Date d'inscription jeudi 28 décembre 2006 Statut Membre Dernière intervention 29 avril 2010 1
10 janv. 2008 à 18:11
    Dim SaveAs1 As FileDialog
    Dim vrtSelectedItem As Variant
    Dim SaveFile As String
    Set SaveAs1 = Application.FileDialog(msoFileDialogSaveAs)
    SaveAs1.AllowMultiSelect = False
    If SaveAs1.Show = -1 Then
        vrtSelectedItem = SaveAs1.SelectedItems(1)
        ActiveDocument.SaveAsEx vrtSelectedItem, visSaveAsWS
    End If


<hr size="2" width="100%" />  zen69 aka Ortho Le Profett
  [site web]
0
antoine_ferard Messages postés 222 Date d'inscription mercredi 5 avril 2006 Statut Membre Dernière intervention 18 février 2011 3
10 janv. 2008 à 18:18
hum... ça me parait intéressant, sauf que... en testant....
"type non défini" sur le "as FileDialog".... :-/

''***************************************************************************
...à votre service
Thanks & Peace
Tonio
0
antoine_ferard Messages postés 222 Date d'inscription mercredi 5 avril 2006 Statut Membre Dernière intervention 18 février 2011 3
10 janv. 2008 à 18:31
Tu sais koi ? je vais pas me prendre la tête.....

Je vais faire un "Application.Quit"... le fichier étant en lecture seule, la boite "enregistrer sous" s'affiche automatiquement... donc ça convient à peu prèt à ce que je recherche, ok...

Merci pour votre aide c'est cool... bye

''***************************************************************************
...à votre service
Thanks & Peace
Tonio
0
zen69 Messages postés 584 Date d'inscription jeudi 28 décembre 2006 Statut Membre Dernière intervention 29 avril 2010 1
10 janv. 2008 à 19:09
Sauf qu'en se faisant tu dois obligatoirement fermer le fichier... mais si ca correspond a ce que tu veux, pas de probleme.

<hr size="2" width="100%" />  zen69 aka Ortho Le Profett
  [site web]
0
antoine_ferard Messages postés 222 Date d'inscription mercredi 5 avril 2006 Statut Membre Dernière intervention 18 février 2011 3
11 janv. 2008 à 12:11
Merci MPi, ça correspond mieux qu'un "Application.Quit"... en fait, la réponse vient de "GetSaveAsFilename"... c nickel, merci...

Cependant une autre petite question subsidiaire :) peut-on enregistrer ce fichier en lecture seule ?

''***************************************************************************
...à votre service
Thanks & Peace
Tonio
0
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
11 janv. 2008 à 12:27
Tu peux regarder du côté de SetAttr

MPi²
Pour ceux qui programment sous Office, n'oubliez pas qu'il existe un forum dédié à ces applications VBA....... ICI
0
Rejoignez-nous