IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBA Word Discussion :

Pilotage entête word depuis excel


Sujet :

VBA Word

  1. #1
    Membre à l'essai
    Inscrit en
    Juillet 2008
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 36
    Points : 20
    Points
    20
    Par défaut Pilotage entête word depuis excel
    Bonjour le forum,

    Je suis sur une appli excel qui ouvre un document word et renseigne des DOCPROPERTY donc pour cela je fais:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    wordDoc.CustomDocumentProperties("NomCli").Value = UserForm3.txtCliNom.Value
    wordDoc.CustomDocumentProperties("...")
    ...
    ...
    wordDoc.Fields.Update
    wordDoc.Fields.Update met bien à jour tous mes champs sauf ceux qui se situent dans l'entête.

    J'ai effectuer quelques recherches:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    wordDoc.Sections(1).Headers(wdHeaderFooterPrimary).Range.Fields.Update
    Malheureusement ça ne fonctionne pas..

    Une petite idée pour accéder aux champs d'une entête word ?

  2. #2
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Salut,

    Il faut faire attention, si tu as plusieurs Sections, il faut toutes les parcourir.
    Je te conseilles de faire une vérification des tes sections et entêtes.
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

  3. #3
    Membre à l'essai
    Inscrit en
    Juillet 2008
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 36
    Points : 20
    Points
    20
    Par défaut
    En effet, j'ai plusieurs sections.

    Peut-on boucler sur toute les sections du document pour faire des update de mes champs ?

    Car c'est juste un problème d'update si je rentre dans mon entete clic droit sur le champ, mettre à jour le champ la valeur se met à jour sans problème.

  4. #4
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Oui, on peut boucler sur les sections.
    Tu peux les compter et faire une boucle.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveDocument.Sections.Count
    Tu peux aussi boucler sur le type d'entête avec une structure décisionnelle si tu possèdes plusieurs types d'entête.
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

  5. #5
    Membre à l'essai
    Inscrit en
    Juillet 2008
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 36
    Points : 20
    Points
    20
    Par défaut
    Bon j'ai suivi tes conseils et je vais boucler sur toutes les sections a voir maintenant si ca va marcher (moin sur .. lol)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    Dim J As Integer
    Dim K As Integer
     
    If ActiveDocument.Sections.Count > 2 Then
       For J = 3 To ActiveDocument.Sections.Count
          For K = 1 To ActiveDocument.Sections(J).Headers.Count
             ActiveDocument.Sections(J).Headers(K).Range.Fields.Update
          Next K
          For K = 1 To ActiveDocument.Sections(J).Footers.Count
             ActiveDocument.Sections(J).Footers(K).Range.Fields.Update
          Next K
       Next J
    End If
    Edit: Ca marche merci forum

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Pilotage word depuis excel
    Par hedidev1 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 23/02/2015, 18h31
  2. Pilotage entête word depuis excel
    Par hitmax dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 05/08/2008, 08h11
  3. Pilotage de IE depuis excel: reperer et cocher une chexbox.
    Par biggione dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 09/08/2006, 16h57
  4. coller une plage dans word depuis excel
    Par tarmin dans le forum VBA Word
    Réponses: 7
    Dernier message: 18/01/2006, 10h16
  5. Ouverture d'un template Word depuis Excel
    Par modus vivendi dans le forum VBA Word
    Réponses: 1
    Dernier message: 14/08/2005, 10h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo