remplissage d'informations à plusieurs endroits dans un doc

Le
Séb
Bonjour,

Je butte encore sur un problème de remplissage de document :
J'ai un document Word à l'intérieur duquuel il faut que j'insère une même
valeur à plusieurs endroits, via VBA a priori.

D'après mes recherches sur le net et les FAQ, j'essaie de m'orienter vers
les signets, ou des champs, mais il n'est visiblement pas possible de faire
un signet qui pointe à plusieurs endroits d'un coup.
Me trompé-je ?

En solution de contournement, j'ai pensé mettre un signet pour la première
occurence, puis des renvois pour les autres apparitions de la même valeur, je
ne sais pas si c'est la solution la plus propre.

Existerait-il une autre solution à base de champs ?

Merci pour vos idées et conseils,

Séb
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
AB
Le #1711275
Bonjour Seb,
Tu as suivi les bonnes options : un signet pour la 1ère occurrence, et des
renvois à ce signet pour les autres.
C'est probablement, en effet, la solution la plus propre. Ce qui n'est pas
difficile, car à ma connaissance, il n'y en a pas d'autre...
AB

"Séb"
Bonjour,

Je butte encore sur un problème de remplissage de document :
J'ai un document Word à l'intérieur duquuel il faut que j'insère une même
valeur à plusieurs endroits, via VBA a priori.

D'après mes recherches sur le net et les FAQ, j'essaie de m'orienter vers
les signets, ou des champs, mais il n'est visiblement pas possible de
faire
un signet qui pointe à plusieurs endroits d'un coup.
Me trompé-je... ?

En solution de contournement, j'ai pensé mettre un signet pour la première
occurence, puis des renvois pour les autres apparitions de la même valeur,
je
ne sais pas si c'est la solution la plus propre.

Existerait-il une autre solution à base de champs ?

Merci pour vos idées et conseils,

Séb


Séb
Le #1711269
"AB"
Bonjour Seb,
Tu as suivi les bonnes options : un signet pour la 1ère occurrence, et des
renvois à ce signet pour les autres.
C'est probablement, en effet, la solution la plus propre. Ce qui n'est pas
difficile, car à ma connaissance, il n'y en a pas d'autre...
AB


Bonsoir,

La suite de mes recherche m'a laissé croire que j'étais effectivemen sur la
bonne voie.
Seul regrêt que j'ai, la non mise à jour automatique des champs (les
renvois, en l'occurence), surtout dans les en-têtes et pieds de pages.
Mais bon, ça va bien se contourner, je vais m'orienter vers cela.

Séb

AB
Le #1711267
Rebonsoir,
A toutes fins utiles :
ActiveDocument.Fields.Update
met à jour les champs (mais pas dans les pdp)
et pour les pieds de page :
Sub MAJ_champ_entete_pdp()
Dim oField As Field
Dim oSection As Section
Dim oHeader As HeaderFooter
Dim oFooter As HeaderFooter

For Each oSection In ActiveDocument.Sections

For Each oHeader In oSection.Headers
If oHeader.Exists Then
For Each oField In oHeader.Range.Fields
oField.Unlink
Next oField
End If
Next oHeader

For Each oFooter In oSection.Footers
If oFooter.Exists Then
For Each oField In oFooter.Range.Fields
oField.Unlink
Next oField
End If
Next oFooter

Next oSection


End Sub
Tu peux aussi essayer de voir le champ AUTOTEXT.
AB

"Séb" exTsr$

"AB"
Bonjour Seb,
Tu as suivi les bonnes options : un signet pour la 1ère occurrence, et
des renvois à ce signet pour les autres.
C'est probablement, en effet, la solution la plus propre. Ce qui n'est
pas difficile, car à ma connaissance, il n'y en a pas d'autre...
AB


Bonsoir,

La suite de mes recherche m'a laissé croire que j'étais effectivemen sur
la bonne voie.
Seul regrêt que j'ai, la non mise à jour automatique des champs (les
renvois, en l'occurence), surtout dans les en-têtes et pieds de pages.
Mais bon, ça va bien se contourner, je vais m'orienter vers cela.

Séb




Séb
Le #1711262

Rebonsoir,
A toutes fins utiles :
ActiveDocument.Fields.Update
met à jour les champs (mais pas dans les pdp)
et pour les pieds de page :
Sub MAJ_champ_entete_pdp()
Dim oField As Field
Dim oSection As Section
Dim oHeader As HeaderFooter
Dim oFooter As HeaderFooter

For Each oSection In ActiveDocument.Sections

For Each oHeader In oSection.Headers
If oHeader.Exists Then
For Each oField In oHeader.Range.Fields
oField.Unlink
Next oField
End If
Next oHeader

For Each oFooter In oSection.Footers
If oFooter.Exists Then
For Each oField In oFooter.Range.Fields
oField.Unlink
Next oField
End If
Next oFooter

Next oSection


End Sub
Tu peux aussi essayer de voir le champ AUTOTEXT.
AB


Merci beaucoup pour les précisions !

Une dernière question (pour la route...) : je cherche à faire sélectionner
un fichier par l'utilisateur, via une boîte de dialogue (et donc pas par un
Documents.Open), mais je n'arrive pas à l'afficher. Mes lointains souvenirs
de VB me rappellent un Common Controls, que je ne retrouve pas.
Sous Excel, j'arrive à mes fins en faisant un Application.GetOpenFilename
mais ça ne fonctionne pas sous Word (ou alors j'ai oublié une référence ?).

Merci,

Séb

Geo
Le #1711261

Une dernière question (pour la route...) : je cherche à faire sélectionner
un fichier par l'utilisateur, via une boîte de dialogue (et donc pas par un
Documents.Open), mais je n'arrive pas à l'afficher. Mes lointains souvenirs
de VB me rappellent un Common Controls, que je ne retrouve pas.


Sauf erreur de ma part, ça ne marche que dans les UserForms.
utilisez : Dialogs(wdDialogFileOpen).Show

--
A+

Séb
Le #1712586


Sauf erreur de ma part, ça ne marche que dans les UserForms.
utilisez : Dialogs(wdDialogFileOpen).Show

--
A+



Merci, mais... :D
... ça m'ouvre une boite dans laquelle je choisis un fichier que Word va
tenter d'ouvrir à tout prix.
En fait ce qui m'intéresse, c'est de récupérer un nom de fichier (classeur
Excel en l'occurence) dans lequel j'irai puiser des données. Et dans ce cas,
il est assez malvenu que Word essaie de l'ouvrir ! ;)

Séb

Geo
Le #1712583




Sauf erreur de ma part, ça ne marche que dans les UserForms.
utilisez : Dialogs(wdDialogFileOpen).Show

--
A+



Merci, mais... :D
... ça m'ouvre une boite dans laquelle je choisis un fichier que Word va
tenter d'ouvrir à tout prix.
En fait ce qui m'intéresse, c'est de récupérer un nom de fichier (classeur
Excel en l'occurence) dans lequel j'irai puiser des données. Et dans ce cas,
il est assez malvenu que Word essaie de l'ouvrir ! ;)

Séb


Désolé j'avais mal compris.
utilisez FileDialog

--
A+


Publicité
Poster une réponse
Anonyme