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

Macros et VBA Excel Discussion :

Pilotage entête word depuis excel


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juillet 2008
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 36
    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
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    A tout hasard, teste ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    With wordDoc.Sections(1).Headers(wdHeaderFooterFirstPage)
        .Range.InsertAfter (UserForm3.txtCliNom.Value)
    End With

  3. #3
    Membre averti
    Inscrit en
    Juillet 2008
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 36
    Par défaut
    Merci de te pencher sur mon pb.

    Nan, cela m'ajoute directement la valeur "A l'arrache" dans mon entête mais ca ne va pas mettre a jour lom docproperty

    C'est juste un pb d'update pcq quand je vais dans le document clic droit sur mon variable, mettre à jour le champ ca marche

  4. #4
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    As-tu regardé dans l'aide de Word à CustomDocumentProperties ?
    J'en ai tiré ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Sub test2()
        Nom = "UnNom"
        BlaBla = "Coucou"
        ActiveDocument.CustomDocumentProperties.Add _
            Name:=Nom, LinkToContent:=False, Value:=BlaBla, _
            Type:=msoPropertyTypeString
        Dim Pr As Object
        For Each Pr In ActiveDocument.CustomDocumentProperties
            MsgBox Pr.Name
            Pr.Delete
        Next
    End Sub
    En remplaçant ActiveDocument par wordDoc, ça devrait pouvoir fonctionner.
    Pas testé depuis Excel

  5. #5
    Membre averti
    Inscrit en
    Juillet 2008
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 36
    Par défaut
    On a bien accès à toutes les variables du document, mais ca ne met pas a jour pour autant...

    Je vais essayer de voir si on peut faire un fields.update dans chaque section du document

  6. #6
    Membre averti
    Inscrit en
    Juillet 2008
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 36
    Par défaut
    C'est tout fonctionne avec ce petit bout de code :

    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
    Merci et longue vie au 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 VBA Word
    Réponses: 4
    Dernier message: 05/08/2008, 08h04
  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