Voil=E0 j'ai un petit probl=E8me : dans une appli Access je=20
dois remplir des fichiers word.
Si mon client est nouveau je cr=E9er un fichier doc via un=20
mod=E8le (l=E0 je m'en sors)
L=E0 o=F9 je gal=E8re c'est que si c'est un ancien client je=20
cherche le dernier doc cr=E9e et je dois modifier certaines=20
informations.=20
Voil=E0 mais j'ai pas l'impression que le texte que j'ajoute=20
par cette methode soit ratach=E9 =E0 l'object signet. Si je=20
fait :
objword.doc.bookmark.item("mon signet1").range.text=20
=3D "maman"
objword.doc.bookmark.item("mon signet1").range.text=20
=3D "papa"
Je me retrouve avec papamaman dans mon doc alors que moi=20
je voudrais voir seulement papa. Donc comment virer le=20
maman par vba ?(sachant que je ne sais pas combien de mot=20
j'ins=E8re la premi=E8re fois, ni m=EAme le nombre de paragraphe)
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Geo
Bonsoir Damien Mermoz,
[...]
Voilà mais j'ai pas l'impression que le texte que j'ajoute par cette methode soit rataché à l'object signet. Si je fait : objword.doc.bookmark.item("mon signet1").range.text = "maman" objword.doc.bookmark.item("mon signet1").range.text = "papa"
Je me retrouve avec papamaman dans mon doc alors que moi je voudrais voir seulement papa. Donc comment virer le maman par vba ?(sachant que je ne sais pas combien de mot j'insère la première fois, ni même le nombre de paragraphe)
J'espère que je ne suis pas trop obscur. :-)
Non ça va tant que ça reste en famille :-) Un signet peut être soit un emplacement dans le document, soit une partie de document. Au départ ton signet est un emplacement et reste un emplacement, il ajoute donc papa où est le signet à l'origine. Pour t'en convaincre, après ta première instruction, tu vas dans le document tu fais F5, choisi signet et ton signet.
Tu aurais pu définir une zone avec un texte par défaut que tu aurais remplacé par papa, puis par maman, malheureusement, quand on remplace un signet par un texte le signet disparaît. C'est à dire que papa ne pourrait pas remplacer maman dans ton exemple. Il faut donc dans ce cas redéfinir le signet avec le nouveau texte. Ceci a fait l'objets de plusieurs échanges sur le forum, tu devrais pouvoir retrouver. Sinon tu fais deux signets de début et de fin de texte variable.
A+
Bonsoir Damien Mermoz,
[...]
Voilà mais j'ai pas l'impression que le texte que j'ajoute
par cette methode soit rataché à l'object signet. Si je
fait :
objword.doc.bookmark.item("mon signet1").range.text
= "maman"
objword.doc.bookmark.item("mon signet1").range.text
= "papa"
Je me retrouve avec papamaman dans mon doc alors que moi
je voudrais voir seulement papa. Donc comment virer le
maman par vba ?(sachant que je ne sais pas combien de mot
j'insère la première fois, ni même le nombre de paragraphe)
J'espère que je ne suis pas trop obscur. :-)
Non ça va tant que ça reste en famille :-)
Un signet peut être soit un emplacement dans le document, soit une
partie de document.
Au départ ton signet est un emplacement et reste un emplacement,
il ajoute donc papa où est le signet à l'origine.
Pour t'en convaincre, après ta première instruction, tu vas dans le
document tu fais F5, choisi signet et ton signet.
Tu aurais pu définir une zone avec un texte par défaut que tu aurais
remplacé par papa, puis par maman,
malheureusement, quand on remplace un signet par un texte le signet
disparaît.
C'est à dire que papa ne pourrait pas remplacer maman dans ton
exemple.
Il faut donc dans ce cas redéfinir le signet avec le nouveau texte.
Ceci a fait l'objets de plusieurs échanges sur le forum, tu devrais
pouvoir retrouver.
Sinon tu fais deux signets de début et de fin de texte variable.
Voilà mais j'ai pas l'impression que le texte que j'ajoute par cette methode soit rataché à l'object signet. Si je fait : objword.doc.bookmark.item("mon signet1").range.text = "maman" objword.doc.bookmark.item("mon signet1").range.text = "papa"
Je me retrouve avec papamaman dans mon doc alors que moi je voudrais voir seulement papa. Donc comment virer le maman par vba ?(sachant que je ne sais pas combien de mot j'insère la première fois, ni même le nombre de paragraphe)
J'espère que je ne suis pas trop obscur. :-)
Non ça va tant que ça reste en famille :-) Un signet peut être soit un emplacement dans le document, soit une partie de document. Au départ ton signet est un emplacement et reste un emplacement, il ajoute donc papa où est le signet à l'origine. Pour t'en convaincre, après ta première instruction, tu vas dans le document tu fais F5, choisi signet et ton signet.
Tu aurais pu définir une zone avec un texte par défaut que tu aurais remplacé par papa, puis par maman, malheureusement, quand on remplace un signet par un texte le signet disparaît. C'est à dire que papa ne pourrait pas remplacer maman dans ton exemple. Il faut donc dans ce cas redéfinir le signet avec le nouveau texte. Ceci a fait l'objets de plusieurs échanges sur le forum, tu devrais pouvoir retrouver. Sinon tu fais deux signets de début et de fin de texte variable.
A+
Guy Moncomble
Bonjour à tous, dans le message <00d901c3a548$41a0a020$,
| Bonjout à tous, | | Voilà j'ai un petit problème : dans une appli Access je | dois remplir des fichiers word. | Si mon client est nouveau je créer un fichier doc via un | modèle (là je m'en sors) | Là où je galère c'est que si c'est un ancien client je | cherche le dernier doc crée et je dois modifier certaines | informations. | | Pour remplir mes signets je fais : | | doc.bookmark.item("mon signet").range.text = strmontexte. | | | Voilà mais j'ai pas l'impression que le texte que j'ajoute | par cette methode soit rataché à l'object signet. Si je | fait : | objword.doc.bookmark.item("mon signet1").range.text | = "maman" | objword.doc.bookmark.item("mon signet1").range.text | = "papa" | | Je me retrouve avec papamaman dans mon doc alors que moi | je voudrais voir seulement papa. Donc comment virer le | maman par vba ?(sachant que je ne sais pas combien de mot | j'insère la première fois, ni même le nombre de paragraphe)
Tout cela serait conforme au fonctionnement habituel de Word (note que j'ai évité d'écrire que c'est normal). En effet ton premier range.text="maman" remplace bien l'ancienne valeur du signet par maman, mais en même temps il supprime le signet. Donc quand tu exécutes ton second range tu obtiens bien papamaman, mais seulement si tu as redéfini (mal) ton signet. Parce que normalement VBA proteste en disant que le membre de la colllection n'existe pas. A moins que tu n'aies pas fait exactement ce que tu décris. Quoi qu'il en soit le problème se règle en redéfinissant le signet. Regarde ma réponse d'hier à gerard v. -- A+
GMO MVP WORD
Bonjour à tous,
dans le message <00d901c3a548$41a0a020$a101280a@phx.gbl>,
| Bonjout à tous,
|
| Voilà j'ai un petit problème : dans une appli Access je
| dois remplir des fichiers word.
| Si mon client est nouveau je créer un fichier doc via un
| modèle (là je m'en sors)
| Là où je galère c'est que si c'est un ancien client je
| cherche le dernier doc crée et je dois modifier certaines
| informations.
|
| Pour remplir mes signets je fais :
|
| doc.bookmark.item("mon signet").range.text = strmontexte.
|
|
| Voilà mais j'ai pas l'impression que le texte que j'ajoute
| par cette methode soit rataché à l'object signet. Si je
| fait :
| objword.doc.bookmark.item("mon signet1").range.text
| = "maman"
| objword.doc.bookmark.item("mon signet1").range.text
| = "papa"
|
| Je me retrouve avec papamaman dans mon doc alors que moi
| je voudrais voir seulement papa. Donc comment virer le
| maman par vba ?(sachant que je ne sais pas combien de mot
| j'insère la première fois, ni même le nombre de paragraphe)
Tout cela serait conforme au fonctionnement habituel de Word (note que
j'ai évité d'écrire que c'est normal).
En effet ton premier range.text="maman" remplace bien l'ancienne valeur
du signet par maman, mais en même temps il supprime le signet. Donc
quand tu exécutes ton second range tu obtiens bien papamaman, mais
seulement si tu as redéfini (mal) ton signet. Parce que normalement VBA
proteste en disant que le membre de la colllection n'existe pas. A moins
que tu n'aies pas fait exactement ce que tu décris.
Quoi qu'il en soit le problème se règle en redéfinissant le signet.
Regarde ma réponse d'hier à gerard v.
--
A+
Bonjour à tous, dans le message <00d901c3a548$41a0a020$,
| Bonjout à tous, | | Voilà j'ai un petit problème : dans une appli Access je | dois remplir des fichiers word. | Si mon client est nouveau je créer un fichier doc via un | modèle (là je m'en sors) | Là où je galère c'est que si c'est un ancien client je | cherche le dernier doc crée et je dois modifier certaines | informations. | | Pour remplir mes signets je fais : | | doc.bookmark.item("mon signet").range.text = strmontexte. | | | Voilà mais j'ai pas l'impression que le texte que j'ajoute | par cette methode soit rataché à l'object signet. Si je | fait : | objword.doc.bookmark.item("mon signet1").range.text | = "maman" | objword.doc.bookmark.item("mon signet1").range.text | = "papa" | | Je me retrouve avec papamaman dans mon doc alors que moi | je voudrais voir seulement papa. Donc comment virer le | maman par vba ?(sachant que je ne sais pas combien de mot | j'insère la première fois, ni même le nombre de paragraphe)
Tout cela serait conforme au fonctionnement habituel de Word (note que j'ai évité d'écrire que c'est normal). En effet ton premier range.text="maman" remplace bien l'ancienne valeur du signet par maman, mais en même temps il supprime le signet. Donc quand tu exécutes ton second range tu obtiens bien papamaman, mais seulement si tu as redéfini (mal) ton signet. Parce que normalement VBA proteste en disant que le membre de la colllection n'existe pas. A moins que tu n'aies pas fait exactement ce que tu décris. Quoi qu'il en soit le problème se règle en redéfinissant le signet. Regarde ma réponse d'hier à gerard v. -- A+
GMO MVP WORD
Geo
Bonsoir Guy
Tout cela serait conforme au fonctionnement habituel de Word (note que
j'ai évité d'écrire que c'est normal). En effet ton premier range.text="maman" remplace bien l'ancienne valeur du signet par maman,
D'après moi, Damien définit d'abord (dans son modèle ?) un emplacement (longueur du signet = 0) où il va mettre un de ses parents. Il met "papa" mais ce texte ne remplace pas le signet, c'est ça la surprise, qui a toujours la longueur zéro et est à l'emplacement avant "papa" (le grand père en quelque sorte). et du coup le signet existant bien, "maman" vient se placer entre le signet et "papa". Contrairement à ce qu'on peut penser maman ne remplace jamais papa. On peut y mettre ainsi toute la famille sans redéfinir le signet. J'étais un peu surpris et j'ai testé son exemple.
A+
Bonsoir Guy
Tout cela serait conforme au fonctionnement habituel de Word (note
que
j'ai évité d'écrire que c'est normal).
En effet ton premier range.text="maman" remplace bien l'ancienne
valeur du signet par maman,
D'après moi, Damien définit d'abord (dans son modèle ?) un emplacement
(longueur du signet = 0) où il va mettre un de ses parents.
Il met "papa" mais ce texte ne remplace pas le signet, c'est ça la
surprise, qui a toujours la longueur zéro et est à l'emplacement avant
"papa" (le grand père en quelque sorte).
et du coup le signet existant bien, "maman" vient se placer entre le
signet et "papa".
Contrairement à ce qu'on peut penser maman ne remplace jamais papa.
On peut y mettre ainsi toute la famille sans redéfinir le signet.
J'étais un peu surpris et j'ai testé son exemple.
Tout cela serait conforme au fonctionnement habituel de Word (note que
j'ai évité d'écrire que c'est normal). En effet ton premier range.text="maman" remplace bien l'ancienne valeur du signet par maman,
D'après moi, Damien définit d'abord (dans son modèle ?) un emplacement (longueur du signet = 0) où il va mettre un de ses parents. Il met "papa" mais ce texte ne remplace pas le signet, c'est ça la surprise, qui a toujours la longueur zéro et est à l'emplacement avant "papa" (le grand père en quelque sorte). et du coup le signet existant bien, "maman" vient se placer entre le signet et "papa". Contrairement à ce qu'on peut penser maman ne remplace jamais papa. On peut y mettre ainsi toute la famille sans redéfinir le signet. J'étais un peu surpris et j'ai testé son exemple.
A+
Guy Moncomble
Bonjour à tous, dans le message ,
| Bonsoir Guy | || Tout cela serait conforme au fonctionnement habituel de Word (note || que j'ai évité d'écrire que c'est normal). || En effet ton premier range.text="maman" remplace bien l'ancienne || valeur du signet par maman, | | D'après moi, Damien définit d'abord (dans son modèle ?) un emplacement | (longueur du signet = 0) où il va mettre un de ses parents. | Il met "papa" mais ce texte ne remplace pas le signet, c'est ça la | surprise, qui a toujours la longueur zéro et est à l'emplacement avant | "papa" (le grand père en quelque sorte). | et du coup le signet existant bien, "maman" vient se placer entre le | signet et "papa". | Contrairement à ce qu'on peut penser maman ne remplace jamais papa. | On peut y mettre ainsi toute la famille sans redéfinir le signet. | J'étais un peu surpris et j'ai testé son exemple. | | A+
Même pas pensé au signet de longueur nulle. Et une incohérence Word de plus, une ! -- A+
GMO MVP WORD
Bonjour à tous,
dans le message <uDGycjWpDHA.1676@TK2MSFTNGP09.phx.gbl>,
| Bonsoir Guy
|
|| Tout cela serait conforme au fonctionnement habituel de Word (note
|| que j'ai évité d'écrire que c'est normal).
|| En effet ton premier range.text="maman" remplace bien l'ancienne
|| valeur du signet par maman,
|
| D'après moi, Damien définit d'abord (dans son modèle ?) un emplacement
| (longueur du signet = 0) où il va mettre un de ses parents.
| Il met "papa" mais ce texte ne remplace pas le signet, c'est ça la
| surprise, qui a toujours la longueur zéro et est à l'emplacement avant
| "papa" (le grand père en quelque sorte).
| et du coup le signet existant bien, "maman" vient se placer entre le
| signet et "papa".
| Contrairement à ce qu'on peut penser maman ne remplace jamais papa.
| On peut y mettre ainsi toute la famille sans redéfinir le signet.
| J'étais un peu surpris et j'ai testé son exemple.
|
| A+
Même pas pensé au signet de longueur nulle. Et une incohérence Word de
plus, une !
--
A+
| Bonsoir Guy | || Tout cela serait conforme au fonctionnement habituel de Word (note || que j'ai évité d'écrire que c'est normal). || En effet ton premier range.text="maman" remplace bien l'ancienne || valeur du signet par maman, | | D'après moi, Damien définit d'abord (dans son modèle ?) un emplacement | (longueur du signet = 0) où il va mettre un de ses parents. | Il met "papa" mais ce texte ne remplace pas le signet, c'est ça la | surprise, qui a toujours la longueur zéro et est à l'emplacement avant | "papa" (le grand père en quelque sorte). | et du coup le signet existant bien, "maman" vient se placer entre le | signet et "papa". | Contrairement à ce qu'on peut penser maman ne remplace jamais papa. | On peut y mettre ainsi toute la famille sans redéfinir le signet. | J'étais un peu surpris et j'ai testé son exemple. | | A+
Même pas pensé au signet de longueur nulle. Et une incohérence Word de plus, une ! -- A+
GMO MVP WORD
Damien Mermoz
Bonjour,
Merci pour votre aide à tous les deux. En effet mes signets sont de longueur nul, je les ai défini dans mon modèle à la mimine insertionsignet. Je savais même pas qu'on pouvait défninir une longueur à un signet (je suis pas très à l'aise avec word). Donc si j'ai bien compris je dois mettre un deuxième signet pour définir la fin d'une zone et je supprimerais, si besoin, le texte entre deux signet. Bon ben reste plus qu'à coder ça :-)
Merci A + Damien.
"Guy Moncomble" <http://cerbermail.com/?QOoOlzu81P> a écrit dans le message news: #
Bonjour à tous, dans le message ,
| Bonsoir Guy | || Tout cela serait conforme au fonctionnement habituel de Word (note || que j'ai évité d'écrire que c'est normal). || En effet ton premier range.text="maman" remplace bien l'ancienne || valeur du signet par maman, | | D'après moi, Damien définit d'abord (dans son modèle ?) un emplacement | (longueur du signet = 0) où il va mettre un de ses parents. | Il met "papa" mais ce texte ne remplace pas le signet, c'est ça la | surprise, qui a toujours la longueur zéro et est à l'emplacement avant | "papa" (le grand père en quelque sorte). | et du coup le signet existant bien, "maman" vient se placer entre le | signet et "papa". | Contrairement à ce qu'on peut penser maman ne remplace jamais papa. | On peut y mettre ainsi toute la famille sans redéfinir le signet. | J'étais un peu surpris et j'ai testé son exemple. | | A+
Même pas pensé au signet de longueur nulle. Et une incohérence Word de plus, une ! -- A+
GMO MVP WORD
Bonjour,
Merci pour votre aide à tous les deux. En effet mes signets sont de longueur
nul, je les ai défini dans mon modèle à la mimine insertionsignet. Je
savais même pas qu'on pouvait défninir une longueur à un signet (je suis pas
très à l'aise avec word). Donc si j'ai bien compris je dois mettre un
deuxième signet pour définir la fin d'une zone et je supprimerais, si
besoin, le texte entre deux signet.
Bon ben reste plus qu'à coder ça :-)
Merci
A +
Damien.
"Guy Moncomble" <http://cerbermail.com/?QOoOlzu81P> a écrit dans le message
news: #QgGPldpDHA.2776@tk2msftngp13.phx.gbl...
Bonjour à tous,
dans le message <uDGycjWpDHA.1676@TK2MSFTNGP09.phx.gbl>,
| Bonsoir Guy
|
|| Tout cela serait conforme au fonctionnement habituel de Word (note
|| que j'ai évité d'écrire que c'est normal).
|| En effet ton premier range.text="maman" remplace bien l'ancienne
|| valeur du signet par maman,
|
| D'après moi, Damien définit d'abord (dans son modèle ?) un emplacement
| (longueur du signet = 0) où il va mettre un de ses parents.
| Il met "papa" mais ce texte ne remplace pas le signet, c'est ça la
| surprise, qui a toujours la longueur zéro et est à l'emplacement avant
| "papa" (le grand père en quelque sorte).
| et du coup le signet existant bien, "maman" vient se placer entre le
| signet et "papa".
| Contrairement à ce qu'on peut penser maman ne remplace jamais papa.
| On peut y mettre ainsi toute la famille sans redéfinir le signet.
| J'étais un peu surpris et j'ai testé son exemple.
|
| A+
Même pas pensé au signet de longueur nulle. Et une incohérence Word de
plus, une !
--
A+
Merci pour votre aide à tous les deux. En effet mes signets sont de longueur nul, je les ai défini dans mon modèle à la mimine insertionsignet. Je savais même pas qu'on pouvait défninir une longueur à un signet (je suis pas très à l'aise avec word). Donc si j'ai bien compris je dois mettre un deuxième signet pour définir la fin d'une zone et je supprimerais, si besoin, le texte entre deux signet. Bon ben reste plus qu'à coder ça :-)
Merci A + Damien.
"Guy Moncomble" <http://cerbermail.com/?QOoOlzu81P> a écrit dans le message news: #
Bonjour à tous, dans le message ,
| Bonsoir Guy | || Tout cela serait conforme au fonctionnement habituel de Word (note || que j'ai évité d'écrire que c'est normal). || En effet ton premier range.text="maman" remplace bien l'ancienne || valeur du signet par maman, | | D'après moi, Damien définit d'abord (dans son modèle ?) un emplacement | (longueur du signet = 0) où il va mettre un de ses parents. | Il met "papa" mais ce texte ne remplace pas le signet, c'est ça la | surprise, qui a toujours la longueur zéro et est à l'emplacement avant | "papa" (le grand père en quelque sorte). | et du coup le signet existant bien, "maman" vient se placer entre le | signet et "papa". | Contrairement à ce qu'on peut penser maman ne remplace jamais papa. | On peut y mettre ainsi toute la famille sans redéfinir le signet. | J'étais un peu surpris et j'ai testé son exemple. | | A+
Même pas pensé au signet de longueur nulle. Et une incohérence Word de plus, une ! -- A+
GMO MVP WORD
Geo
Bonjour Damien ,
Bonjour,
Merci pour votre aide à tous les deux. En effet mes signets sont de longueur nul, je les ai défini dans mon modèle à la mimine insertionsignet. Je savais même pas qu'on pouvait défninir une longueur à un signet
Non, ce n'est pas exactement ça, on décrit là l'effet et non la cause. Un signet peut être une partie, voire la totalité de ton document, dans ce cas il a une longueur non nulle. Donc Guy raisonnait en pensant que ton texte "maman" était le contenu du signet.
(je suis pas très à l'aise avec word). Donc si
j'ai bien compris je dois mettre un deuxième signet pour définir la fin d'une zone et je supprimerais, si besoin, le texte entre deux signet.
C'est une solution, mais l'autre, plus simple sans doute, est de donner justement le nom de signet à la zone à remplacer, ça lève toute ambiguité. Regarde sur les anciens messages du forum, Guy a donné plusieurs fois la solution et il t'a indiqué une conversation récente. jette aussi un oeil là ça t'aidera un peu sans doute: http://faq.ms.word.free.fr/VBA/VBA.htm
--
A+
Bonjour Damien ,
Bonjour,
Merci pour votre aide à tous les deux. En effet mes signets sont de
longueur nul, je les ai défini dans mon modèle à la mimine
insertionsignet. Je savais même pas qu'on pouvait défninir une
longueur à un signet
Non, ce n'est pas exactement ça, on décrit là l'effet et non la cause.
Un signet peut être une partie, voire la totalité de ton document,
dans ce cas il a une longueur non nulle.
Donc Guy raisonnait en pensant que ton texte "maman" était le contenu
du signet.
(je suis pas très à l'aise avec word). Donc si
j'ai bien compris je dois mettre un deuxième signet pour définir la
fin d'une zone et je supprimerais, si besoin, le texte entre deux
signet.
C'est une solution, mais l'autre, plus simple sans doute, est de
donner justement le nom de signet à la zone à remplacer, ça lève toute
ambiguité.
Regarde sur les anciens messages du forum, Guy a donné plusieurs fois
la solution et il t'a indiqué une conversation récente.
jette aussi un oeil là ça t'aidera un peu sans doute:
http://faq.ms.word.free.fr/VBA/VBA.htm
Merci pour votre aide à tous les deux. En effet mes signets sont de longueur nul, je les ai défini dans mon modèle à la mimine insertionsignet. Je savais même pas qu'on pouvait défninir une longueur à un signet
Non, ce n'est pas exactement ça, on décrit là l'effet et non la cause. Un signet peut être une partie, voire la totalité de ton document, dans ce cas il a une longueur non nulle. Donc Guy raisonnait en pensant que ton texte "maman" était le contenu du signet.
(je suis pas très à l'aise avec word). Donc si
j'ai bien compris je dois mettre un deuxième signet pour définir la fin d'une zone et je supprimerais, si besoin, le texte entre deux signet.
C'est une solution, mais l'autre, plus simple sans doute, est de donner justement le nom de signet à la zone à remplacer, ça lève toute ambiguité. Regarde sur les anciens messages du forum, Guy a donné plusieurs fois la solution et il t'a indiqué une conversation récente. jette aussi un oeil là ça t'aidera un peu sans doute: http://faq.ms.word.free.fr/VBA/VBA.htm