enregistrer sous en vba

Le
gael.beauverger1
Bonjour,
Grce Geo et Anacoluthe, j'ai pu crer un formulaire s'enregistrant
partir d'un champ texte. Cependant je souhaite, maintenant, que le
nom du fichier s'enregistre partir du contenu d'une liste droulante
et de 2 champs texte. J'ai crit ceci:
Public Sub FileSaveAs()
' Prnomme le fichier avec le champ liste droulante1, texte 4, texte5
et la date
Dim NomFichier As String
NomFichier =
ActiveDocument.Bookmarks("ListeDroulante1""Texte4""Texte5").Range.Text
NomFichier = NomFichier & Format(Date, "-dd-MM-yy") & ".doc"
With Application.Dialogs(wdDialogFileSaveAs)
.Name = NomFichier
.Show
End With
End Sub
Cependant cela ne fonctionne pas. Quelle est mon erreur?
Bonne journe
Gal
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
JIELPE53
Le #1586800
Hello Gael,

dis-moi après avroi récupéré le nom de ton fichier dans ta variable
Nomfichier, pourquoi passes-tu par une boite de dialogue (Enregistrer sous) ?

Ne peux-tu pas directement exécuter la commande :

ActiveDocument.SaveAs NomFichier

à la place du bloc

With Application.Dialogs(wdDialogFileSaveAs)
.Name = NomFichier
.Show
End With

A+


Bonjour,
Grâce à Geo et Anacoluthe, j'ai pu créer un formulaire s'enregistrant
à partir d'un champ texte. Cependant je souhaite, maintenant, que le
nom du fichier s'enregistre à partir du contenu d'une liste déroulante
et de 2 champs texte. J'ai écrit ceci:
Public Sub FileSaveAs()
' Prénomme le fichier avec le champ liste déroulante1, texte 4, texte5
et la date
Dim NomFichier As String
NomFichier > ActiveDocument.Bookmarks("ListeDéroulante1""Texte4""Texte5").Range.Text
NomFichier = NomFichier & Format(Date, "-dd-MM-yy") & ".doc"
With Application.Dialogs(wdDialogFileSaveAs)
.Name = NomFichier
.Show
End With
End Sub
Cependant cela ne fonctionne pas. Quelle est mon erreur?
Bonne journée
Gaël




Anacoluthe
Le #1586797
Bonjour !

'' nous a écrit ...

ActiveDocument.Bookmarks("ListeDéroulante1""Texte4""Texte5").Range.Text


Cette ligne est erronée : vous ne pouvez pas concaténer ainsi les signets !
Si vous souhaitez concaténer le contenu des 3 signets écrivez :
NomFichier = ActiveDocument.Bookmarks("ListeDéroulante1").Range.Text _
& ActiveDocument.Bookmarks("Texte4").Range.Text _
& ActiveDocument.Bookmarks("Texte5").Range.Text

Votre macro pré-nomme le fichier mais laisse l'utilisateur libre
de choisir un autre nom. Si vous voulez enregistrer le fichier avec
le nom concaténé ci-dessus utilisez SaveAs comme a dit JIEL (autre JièL ?)

Anacoluthe
« Nommer, c'est aussi sauver. »
- Claudio MAGRIS

gael.beauverger1
Le #1586786
On 19 mar, 19:14, Anacoluthe
Bonjour !

'' nous a écrit ...

ActiveDocument.Bookmarks("ListeDéroulante1""Texte4""Texte5").Range.Te xt


Cette ligne est erronée : vous ne pouvez pas concaténer ainsi les sig nets !
Si vous souhaitez concaténer le contenu des 3 signets écrivez :
NomFichier = ActiveDocument.Bookmarks("ListeDéroulante1").Range.Text _
& ActiveDocument.Bookmarks("Texte4").Range.Text _
& ActiveDocument.Bookmarks("Texte5").Range.Text

Votre macro pré-nomme le fichier mais laisse l'utilisateur libre
de choisir un autre nom. Si vous voulez enregistrer le fichier avec
le nom concaténé ci-dessus utilisez SaveAs comme a dit JIEL (autre Ji èL ?)

Anacoluthe
« Nommer, c'est aussi sauver. »
- Claudio MAGRIS


Bonsoir,
Merci Anacoluthe pour la syntaxe. Je suis obligé de suggérer le nom du
fichier. Mais la commande de JIELP53 va aussi me servir.
Gaël


gael.beauverger1
Le #1586777
On 19 mar, 19:14, Anacoluthe
Bonjour !

'' nous a écrit ...

ActiveDocument.Bookmarks("ListeDéroulante1""Texte4""Texte5").Range.Te xt


Cette ligne est erronée : vous ne pouvez pas concaténer ainsi les sig nets !
Si vous souhaitez concaténer le contenu des 3 signets écrivez :
NomFichier = ActiveDocument.Bookmarks("ListeDéroulante1").Range.Text _
& ActiveDocument.Bookmarks("Texte4").Range.Text _
& ActiveDocument.Bookmarks("Texte5").Range.Text

Votre macro pré-nomme le fichier mais laisse l'utilisateur libre
de choisir un autre nom. Si vous voulez enregistrer le fichier avec
le nom concaténé ci-dessus utilisez SaveAs comme a dit JIEL (autre Ji èL ?)

Anacoluthe
« Nommer, c'est aussi sauver. »
- Claudio MAGRIS


Bonjour à tous,
Anacoluth a écrit
Si vous souhaitez concaténer le contenu des 3 signets écrivez :
NomFichier = ActiveDocument.Bookmarks("ListeDéroulante1").Range.Text _
& ActiveDocument.Bookmarks("Texte4").Range.Text _
& ActiveDocument.Bookmarks("Texte5").Range.Text
Cela fonctionne pour les champs textes mais renvoie un symbole carré

pour "ListeDéroulante1" et ce qui a été saisi. Ne faut il pas en fait
passer par un champ "ref" reprenant la liste.
Cordialement,
Bonne journée


Anacoluthe
Le #1586771
Bonjour !

'' nous a écrit ...
Cela fonctionne pour les champs textes mais renvoie un symbole carré
pour "ListeDéroulante1" et ce qui a été saisi. Ne faut il pas en fait
passer par un champ "ref" reprenant la liste.


Champs de formulaire Word : remplacez dans votre code
ActiveDocument.Bookmarks("ListeDéroulante1").Range.Text
par
ActiveDocument.FormFields("ListeDéroulante1").Result

Valable aussi pour les champs Texte :
ActiveDocument.FormFields("Texte1").Result

Anacoluthe
« Bienheureux les travailleurs des champs. »
- VIRGILE

gael.beauverger1
Le #1586758
On 20 mar, 13:52, Anacoluthe
Bonjour !

'' nous a écrit ...

Cela fonctionne pour les champs textes mais renvoie un symbole carré
pour "ListeDéroulante1" et ce qui a été saisi. Ne faut il pas en fait
passer par un champ "ref" reprenant la liste.


Champs de formulaire Word : remplacez dans votre code
ActiveDocument.Bookmarks("ListeDéroulante1").Range.Text
par
ActiveDocument.FormFields("ListeDéroulante1").Result

Valable aussi pour les champs Texte :
ActiveDocument.FormFields("Texte1").Result

Anacoluthe
« Bienheureux les travailleurs des champs. »
- VIRGILE


Bonjour Anacoluthe,
Perfeto!
Merci


Publicité
Poster une réponse
Anonyme