Nom du fichier lors de l'enregistrement d'un formulaire

Le
Trax
Bonjour,

J'ai crée un formulaire en lecture seule et je souhaite que le nom proposé
lors de l'enregistrement du document soit basé sur la date ainsi que sur un
champ de la page.
Est ce réalisable?

Merci
T
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Anacoluthe
Le #1602403
Bonjour !

'Trax' nous a écrit ...
J'ai crée un formulaire en lecture seule et je souhaite que le nom proposé
lors de l'enregistrement du document soit basé sur la date ainsi que sur un
champ de la page. Est ce réalisable?


Il y a plusieurs façons de pré-nommer un fichier : champ Titre, premier
paragraphe du document, modèle, macro ...
Cependant votre formulaire en lecture seule a probablement /déjà/ un nom :
un Fichier/Enregistrement-sous proposera donc ce nom par défaut...
La solution serait une macro. À moins que vous utilisiez un /modèle/
de formulaire...

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

Trax
Le #1602393
et en prenant l'option macro, ca donnerait quoi? :D


Bonjour !

'Trax' nous a écrit ...
J'ai crée un formulaire en lecture seule et je souhaite que le nom proposé
lors de l'enregistrement du document soit basé sur la date ainsi que sur un
champ de la page. Est ce réalisable?


Il y a plusieurs façons de pré-nommer un fichier : champ Titre, premier
paragraphe du document, modèle, macro ...
Cependant votre formulaire en lecture seule a probablement /déjà/ un nom :
un Fichier/Enregistrement-sous proposera donc ce nom par défaut...
La solution serait une macro. À moins que vous utilisiez un /modèle/
de formulaire...

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








Anacoluthe
Le #1602392
Bonjour !

'Trax' nous a écrit ...
et en prenant l'option macro, ca donnerait quoi? :D


:-D )) Faut pas dire ça à un macroteur !
Les AMIS* n'attendent que ça pour lui retirer son permis !
(* AMIS : Anti-Macros Inutilement Superfétatoires)

Voici par exemple une macro à placer dans ThisDocument de votre Formulaire
qui /surcharge/ son Enregistrer-Sous en composant un nom de fichier
avec le contenu du 1er champ de formulaire et la date :

Sub FichierEnregistrerSous()
With Dialogs(wdDialogFileSaveAs)
.Name = ActiveDocument.FormFields(1).Result & _
Format(Date, "_ddMMyy") & ".doc"
.Show
End With
End Sub

Mais ne le dites pas aux AMIS ;-)

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

Trax
Le #1602385
Bonjour,

Merci pour votre rapidité de réponse :)
Par contre j'ai un souci avec les champs formfield... ça ne retourne rien ?!
J'ai testé avec une msgbox, idem...
me serais-je trompé dans l'utilisation des champs de formulaire? Sous 2007
avec un .doc : onglet developpeur, contrôles , champs formulaire hérités...
je n'en vois pas d'autre?!

ps: l'informaticien est fénéant, s'il peut passer 2 heures à chercher une
solution pour lui en faire gagner 2 par la suite, il cherchera pendant 2
heures... même s'il faut en passer par les macros ?! :)



Bonjour !

'Trax' nous a écrit ...
et en prenant l'option macro, ca donnerait quoi? :D


:-D )) Faut pas dire ça à un macroteur !
Les AMIS* n'attendent que ça pour lui retirer son permis !
(* AMIS : Anti-Macros Inutilement Superfétatoires)

Voici par exemple une macro à placer dans ThisDocument de votre Formulaire
qui /surcharge/ son Enregistrer-Sous en composant un nom de fichier
avec le contenu du 1er champ de formulaire et la date :

Sub FichierEnregistrerSous()
With Dialogs(wdDialogFileSaveAs)
.Name = ActiveDocument.FormFields(1).Result & _
Format(Date, "_ddMMyy") & ".doc"
.Show
End With
End Sub

Mais ne le dites pas aux AMIS ;-)

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




Trax
Le #1602381
dans mon document j'ai 3 champs formulaire vide
suivi de 3 avec une description...
Si je ne remplis pas les 3 champs vide le nom est "__24042007.doc"
Si je remplis les 3 premiers champs de formulaire (qui sont vide par
défaut), quand je fais le saveAs, j'ai un nom du type
"description_du_champs4_24042007.doc"...
étrange non?

Mieux encore :
Si je remplis le champs 4, le nom devient
description_du_champs4_24042007.doc"...
Si je remplis le champs 5, le nom devient
description_du_champs6_24042007.doc"...
si je remplis le champs 6, j'ai une erreur au saveAs indiquant que "le
membre de la collection n'existe pas" ...



Bonjour !

'Trax' nous a écrit ...
et en prenant l'option macro, ca donnerait quoi? :D


:-D )) Faut pas dire ça à un macroteur !
Les AMIS* n'attendent que ça pour lui retirer son permis !
(* AMIS : Anti-Macros Inutilement Superfétatoires)

Voici par exemple une macro à placer dans ThisDocument de votre Formulaire
qui /surcharge/ son Enregistrer-Sous en composant un nom de fichier
avec le contenu du 1er champ de formulaire et la date :

Sub FichierEnregistrerSous()
With Dialogs(wdDialogFileSaveAs)
.Name = ActiveDocument.FormFields(1).Result & _
Format(Date, "_ddMMyy") & ".doc"
.Show
End With
End Sub

Mais ne le dites pas aux AMIS ;-)

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




Anacoluthe
Le #1603659
Bonjour !

'Trax' nous a écrit ...
Si je remplis le champs 5, le nom devient
description_du_champs6_24042007.doc"...


La petite macro que j'ai mise en exemple marche aussi dans WD2007
mais ne concerne que des champs de formulaire (Formfields ou
champs de 'Formulaires hérités' pour WD2007) et non des ContentControls
que vous avez tout intérêt à utiliser dans 2007.

Si vous avez créé dans WD2007 des zones d'édition de 'formulaires hérités'
(donc des formfields des anciennes versions) elles sont encapsulées
dans des contrôles de contenus. Même dans ce cas vous avez intérêt
à changer ActiveDocument.FormFields(1).Result par
ActiveDocument.ContentControls(1).Range.Text

Ceci étant, je n'ai pas retrouvé votre glissement de champs dans WD2007

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

Trax
Le #1603656
Bonsoir!

Je me suis permis de vous envoyer le fichier par mail, car j'ai le même
message d'erreur en changeant ActiveDocument.FormFields(1).Result par
ActiveDocument.ContentControls(1).Range.Text

j'ai désactivé la protection dans le document...si vous avez 2minutes :D

Merci
Trax


Bonjour !

'Trax' nous a écrit ...
Si je remplis le champs 5, le nom devient
description_du_champs6_24042007.doc"...


La petite macro que j'ai mise en exemple marche aussi dans WD2007
mais ne concerne que des champs de formulaire (Formfields ou
champs de 'Formulaires hérités' pour WD2007) et non des ContentControls
que vous avez tout intérêt à utiliser dans 2007.

Si vous avez créé dans WD2007 des zones d'édition de 'formulaires hérités'
(donc des formfields des anciennes versions) elles sont encapsulées
dans des contrôles de contenus. Même dans ce cas vous avez intérêt
à changer ActiveDocument.FormFields(1).Result par
ActiveDocument.ContentControls(1).Range.Text

Ceci étant, je n'ai pas retrouvé votre glissement de champs dans WD2007

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





Anacoluthe
Le #1603653
Bonjour !

'Trax' nous a écrit ...
Je me suis permis de vous envoyer le fichier par mail, car j'ai le même
message d'erreur en changeant ActiveDocument.FormFields(1).Result par
ActiveDocument.ContentControls(1).Range.Text
j'ai désactivé la protection dans le document...si vous avez 2minutes :D


Le document envoyé ne contient aucun ContentControl mais uniquement
des FormFields. Il est donc normal de recevoir le message
'le membre de la collection n'existe pas'

Vous devez soit revenir à la 1ère version de la macro, soit
remplacer vos champs de formulaires par des contrôles de contenus.
Dans ce cas il faut enregistrer le document en WD2007 .docm puisque
vous avez une macro dedans.

Par ailleurs votre formulaire n'était pas protégé. Un formulaire
ne s'utilise /que/ protégé (protection de type remplissage de formulaire).

NB: Dans le respect de l'esprit de ce forum où tout le monde peut participer
librement et donner ses solutions, il n'est pas souhaité d'envoyer
un fichier à un contributeur (à moins qu'il ne l'ait sollicité ce que je
ne fais jamais en ce qui me concerne). Si vous avez un problème avec
un fichier que vous voulez montrer à la communauté, la technique
habituelle est d'uploader ce fichier sur un site partagé temporaire
comme l'excellent http://cjoint.com/ et de placer le lien à ce fichier
dans un message du forum afin que tout le monde puisse le charger
s'il le souhaite et vous répondre. Et jamais de pièces jointes bien sûr.
Tout fichier contenant des macros doit être analysé par un antivirus.
Réserver cette technique aux cas où il n'est pas possible d'expliquer
son problème autrement qu'en montrant son fichier.
Merci de votre compréhension :-)

Anacoluthe
« L'esprit de la conversation consiste bien moins
à en montrer beaucoup qu'à en faire trouver aux autres. »
- Jean de La BRUYÈRE

Trax
Le #1603646
Bonjour,

Désolé pour l'envoi par mail, promis je ne le referai plus :) (d'ailleurs :
http://cjoint.com/?ezkQxXM1Eb )

Par contre si je reviens sur l'utilisation de
ActiveDocument.FormFields(1).Result j'ai le message d'erreur evoqué plus haut
dans les messages...

en laissant tel quel, lors du saveas il m'indique "_25042007.doc" et en
remplissant les 3 premier champs (vide par défaut) j'ai
"descriptionChamps4_25042007.doc" ... si je modifie le champs 4, j'ai
"descriptionChamps5_25042007.doc" ...

a quoi celà peut-il être dû?

Merci,
T



Bonjour !

'Trax' nous a écrit ...
Je me suis permis de vous envoyer le fichier par mail, car j'ai le même
message d'erreur en changeant ActiveDocument.FormFields(1).Result par
ActiveDocument.ContentControls(1).Range.Text
j'ai désactivé la protection dans le document...si vous avez 2minutes :D


Le document envoyé ne contient aucun ContentControl mais uniquement
des FormFields. Il est donc normal de recevoir le message
'le membre de la collection n'existe pas'

Vous devez soit revenir à la 1ère version de la macro, soit
remplacer vos champs de formulaires par des contrôles de contenus.
Dans ce cas il faut enregistrer le document en WD2007 .docm puisque
vous avez une macro dedans.

Par ailleurs votre formulaire n'était pas protégé. Un formulaire
ne s'utilise /que/ protégé (protection de type remplissage de formulaire).

NB: Dans le respect de l'esprit de ce forum où tout le monde peut participer
librement et donner ses solutions, il n'est pas souhaité d'envoyer
un fichier à un contributeur (à moins qu'il ne l'ait sollicité ce que je
ne fais jamais en ce qui me concerne). Si vous avez un problème avec
un fichier que vous voulez montrer à la communauté, la technique
habituelle est d'uploader ce fichier sur un site partagé temporaire
comme l'excellent http://cjoint.com/ et de placer le lien à ce fichier
dans un message du forum afin que tout le monde puisse le charger
s'il le souhaite et vous répondre. Et jamais de pièces jointes bien sûr.
Tout fichier contenant des macros doit être analysé par un antivirus.
Réserver cette technique aux cas où il n'est pas possible d'expliquer
son problème autrement qu'en montrant son fichier.
Merci de votre compréhension :-)

Anacoluthe
« L'esprit de la conversation consiste bien moins
à en montrer beaucoup qu'à en faire trouver aux autres. »
- Jean de La BRUYÈRE





Trax
Le #1603644
Dans le doute j'ai fais un nouveau document, et pour l'instant ca a l'air de
fontionner...
mais j'aimerais bien savoir pourquoi ca ne fonctionne pas dans mon premier
document..
un problème sur les numéro de formfield?

Trax


Bonjour !

'Trax' nous a écrit ...
Je me suis permis de vous envoyer le fichier par mail, car j'ai le même
message d'erreur en changeant ActiveDocument.FormFields(1).Result par
ActiveDocument.ContentControls(1).Range.Text
j'ai désactivé la protection dans le document...si vous avez 2minutes :D


Le document envoyé ne contient aucun ContentControl mais uniquement
des FormFields. Il est donc normal de recevoir le message
'le membre de la collection n'existe pas'

Vous devez soit revenir à la 1ère version de la macro, soit
remplacer vos champs de formulaires par des contrôles de contenus.
Dans ce cas il faut enregistrer le document en WD2007 .docm puisque
vous avez une macro dedans.

Par ailleurs votre formulaire n'était pas protégé. Un formulaire
ne s'utilise /que/ protégé (protection de type remplissage de formulaire).

NB: Dans le respect de l'esprit de ce forum où tout le monde peut participer
librement et donner ses solutions, il n'est pas souhaité d'envoyer
un fichier à un contributeur (à moins qu'il ne l'ait sollicité ce que je
ne fais jamais en ce qui me concerne). Si vous avez un problème avec
un fichier que vous voulez montrer à la communauté, la technique
habituelle est d'uploader ce fichier sur un site partagé temporaire
comme l'excellent http://cjoint.com/ et de placer le lien à ce fichier
dans un message du forum afin que tout le monde puisse le charger
s'il le souhaite et vous répondre. Et jamais de pièces jointes bien sûr.
Tout fichier contenant des macros doit être analysé par un antivirus.
Réserver cette technique aux cas où il n'est pas possible d'expliquer
son problème autrement qu'en montrant son fichier.
Merci de votre compréhension :-)

Anacoluthe
« L'esprit de la conversation consiste bien moins
à en montrer beaucoup qu'à en faire trouver aux autres. »
- Jean de La BRUYÈRE





Publicité
Poster une réponse
Anonyme