Enregistrement avec nomenclature précise
Résolu/Fermé
A voir également:
- Nomenclature word
- Supprimer une page word - Guide
- Espace insécable word - Guide
- Organigramme word - Guide
- Word gratuit - Guide
- Signature électronique word - Guide
5 réponses
m@rina
Messages postés
20203
Date d'inscription
mardi 12 juin 2007
Statut
Contributeur
Dernière intervention
11 mai 2024
11 279
23 févr. 2013 à 14:03
23 févr. 2013 à 14:03
Bonjour,
Plutôt que de poser cette question, pourquoi ne testes tu pas ?
Bon, je peux néanmoins te dire que ton code est du pur Excel, et qu'il ne sera pas compris par Word.
Donc, si tu veux faire une macro permettant d'enregistrer tes fichiers avec un nom provenant d'un élément quelconque de ton doc Word, c'est possible. Reste à déterminer quel est cet élément.
m@rina
Plutôt que de poser cette question, pourquoi ne testes tu pas ?
Bon, je peux néanmoins te dire que ton code est du pur Excel, et qu'il ne sera pas compris par Word.
Donc, si tu veux faire une macro permettant d'enregistrer tes fichiers avec un nom provenant d'un élément quelconque de ton doc Word, c'est possible. Reste à déterminer quel est cet élément.
m@rina
Bonjour,
avec excel ça semble "simple" vu que pour chaque valeur intéressante on a une cellule.
du coup à chaque fois je bascule des documents d'origine word sous leur équivalent excel en perdant parfois de la convivialité (ex : en basculant mon document type sous excel, je fais perdre aux utilisateurs la convivialité lorsqu'ils intègrent des photos. ils vont devoir jouer avec les hauteurs de lignes sous excel alors que sous word ils n'avaient rien à faire, la hauteur s'adaptait).
ne connaissant pas du tout les macros sous word pourrais tu m'expliquer comment ça fonctionne ? (système de balise devant le texte intéressant ?!)
Anthonnyy
avec excel ça semble "simple" vu que pour chaque valeur intéressante on a une cellule.
du coup à chaque fois je bascule des documents d'origine word sous leur équivalent excel en perdant parfois de la convivialité (ex : en basculant mon document type sous excel, je fais perdre aux utilisateurs la convivialité lorsqu'ils intègrent des photos. ils vont devoir jouer avec les hauteurs de lignes sous excel alors que sous word ils n'avaient rien à faire, la hauteur s'adaptait).
ne connaissant pas du tout les macros sous word pourrais tu m'expliquer comment ça fonctionne ? (système de balise devant le texte intéressant ?!)
Anthonnyy
m@rina
Messages postés
20203
Date d'inscription
mardi 12 juin 2007
Statut
Contributeur
Dernière intervention
11 mai 2024
11 279
23 févr. 2013 à 17:29
23 févr. 2013 à 17:29
Oui, c'est plus facile avec Excel.
D'ailleurs, pour tout, Excel est très carré contrairement à Word.
Dans Excel, tu fais référence à une cellule, c'est simple.
Dans Word, on peut faire référence à un mot (ou un groupe de mot) en fonction de sa position dans le texte. Exemple : 1er mot, troisième mot du 2e paragraphe, 3 premiers caractères du 2e mot du 5e paragraphe, etc.
Ce peut être aussi un mot pris dans un tableau (n° colonne, n° ligne).
Tout cela est valable évidemment lorsque le document Word ne change plus.
Mais on peut également utiliser des signets, ainsi que des contrôles de contenu ou champs de formulaire.
J'ai mis quelques exemples ici :
https://faqword.com/index.php/word/faq-word/vba-solutions/630
https://faqword.com/index.php/word/faq-word/vba-solutions/772
https://faqword.com/index.php/word/faq-word/vba-solutions/499
m@rina
D'ailleurs, pour tout, Excel est très carré contrairement à Word.
Dans Excel, tu fais référence à une cellule, c'est simple.
Dans Word, on peut faire référence à un mot (ou un groupe de mot) en fonction de sa position dans le texte. Exemple : 1er mot, troisième mot du 2e paragraphe, 3 premiers caractères du 2e mot du 5e paragraphe, etc.
Ce peut être aussi un mot pris dans un tableau (n° colonne, n° ligne).
Tout cela est valable évidemment lorsque le document Word ne change plus.
Mais on peut également utiliser des signets, ainsi que des contrôles de contenu ou champs de formulaire.
J'ai mis quelques exemples ici :
https://faqword.com/index.php/word/faq-word/vba-solutions/630
https://faqword.com/index.php/word/faq-word/vba-solutions/772
https://faqword.com/index.php/word/faq-word/vba-solutions/499
m@rina
j'ai essayé ceci
Private Sub Document_Close()
Dim nom As String
ChangeFileOpenDirectory "C:\Users\Thony\Desktop\à bosser\"
nom = ActiveDocument.FormFields(25).Result & " " & ActiveDocument.FormFields(1).Result
ActiveDocument.SaveAs FileName:=nom & ".doc", FileFormat:=wdFormatDocument
End Sub
j'ai fait clic droit sur mes 2 champs de formulaire, le premier porte le nom de signet "Texte25" et le second "Texte1"
alors j'ai un début de résultat mais pas satisfaisant
mon champ 1 intègre par exemple "Référence1" et mon champ 2 "FournisseurA"
j'ai bien un nouveau fichier qui s'enregistre dans le bon répertoire mais le nom de ce fichier est "0 Référence1.doc" au lieu de "Référence1 FournisseurA.doc"
aurais tu une idée du dysfonctionnement ?
Private Sub Document_Close()
Dim nom As String
ChangeFileOpenDirectory "C:\Users\Thony\Desktop\à bosser\"
nom = ActiveDocument.FormFields(25).Result & " " & ActiveDocument.FormFields(1).Result
ActiveDocument.SaveAs FileName:=nom & ".doc", FileFormat:=wdFormatDocument
End Sub
j'ai fait clic droit sur mes 2 champs de formulaire, le premier porte le nom de signet "Texte25" et le second "Texte1"
alors j'ai un début de résultat mais pas satisfaisant
mon champ 1 intègre par exemple "Référence1" et mon champ 2 "FournisseurA"
j'ai bien un nouveau fichier qui s'enregistre dans le bon répertoire mais le nom de ce fichier est "0 Référence1.doc" au lieu de "Référence1 FournisseurA.doc"
aurais tu une idée du dysfonctionnement ?
j'ai trouvé le soucis
en fait word ne gère pas avec le nom du signet présent dans ses propriétés mais la position du signet dans le document
du coup mon signet "Texte25" est mon formfields(1) et ainsi de suite.
du coup en ayant compris ça j'obtiens mon résultat voulu.
merci de m'avoir ouvert les yeux sur les possibilités de word
en fait word ne gère pas avec le nom du signet présent dans ses propriétés mais la position du signet dans le document
du coup mon signet "Texte25" est mon formfields(1) et ainsi de suite.
du coup en ayant compris ça j'obtiens mon résultat voulu.
merci de m'avoir ouvert les yeux sur les possibilités de word
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
m@rina
Messages postés
20203
Date d'inscription
mardi 12 juin 2007
Statut
Contributeur
Dernière intervention
11 mai 2024
11 279
23 févr. 2013 à 18:14
23 févr. 2013 à 18:14
Tout d'abord, puisque tu as relevé le nom des signets, pourquoi ne les utilises-tu pas ? C'est plus sûr que de faire confiance aux index.
Sinon, je peux imaginer que le contenu de ton champ premier champ a été effacé... je ne vois pas d'autres raisons.
En tout état de cause met plutôt ceci :
Tu peux d'ailleurs remplacer les noms automatiques des signets pour avoir des mots qui veulent dire quelque chose.
m@rina
Sinon, je peux imaginer que le contenu de ton champ premier champ a été effacé... je ne vois pas d'autres raisons.
En tout état de cause met plutôt ceci :
nom = ActiveDocument.FormFields("texte25").Result & " " & ActiveDocument.FormFields("texte1").Result
Tu peux d'ailleurs remplacer les noms automatiques des signets pour avoir des mots qui veulent dire quelque chose.
m@rina