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 Word via macro VBA Excel : Insérer un numéro de page dans un tableau en en-tête de page dans Word


Sujet :

VBA Word

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 13
    Par défaut Pilotage Word via macro VBA Excel : Insérer un numéro de page dans un tableau en en-tête de page dans Word
    Bonjour,

    Je suis novice en programmation vba.

    Je pilote un fichier Word via une macro VBA Excel.
    Dans mon fichier Word, j'ai en en-tête de page un tableau de 1 ligne 3 colonnes dans lequel je souhaiterais insérer en :
    - colonne 1 : une image
    - colonne 2 : un titre (donc du texte)
    - colonne 3 : le texte "Edition 00-01 / Page " suivi du numéro de page et du nombre de pages du document Word.

    Quelqu'un pourrait-il m'aider à solutionner ce problème ?

    Merci par avance

  2. #2
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    3 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 3 317
    Par défaut
    Bonjour,

    Tu peux utiliser :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    'Nécessite d'activer la référence Microsoft Word xx.x Object Library
    Dim WordApp As Word.Application
    Dim WordDoc As Word.Document
    Dim Cible As Word.Range
    Dim Fichier As String
     
    'adapter le chemin
    Fichier = "C:\Essai.doc"
     
    Set WordApp = CreateObject("Word.Application")
    WordApp.Visible = True
    Set WordDoc = WordApp.Documents.Open(Fichier)
     
    'Insère image dans la 1ere cellule de l'entête
    Set Cible = WordDoc.Sections(1).Headers(wdHeaderFooterPrimary). _
        Range.Tables(1).Cell(1, 1).Range
    Cible.InlineShapes.AddPicture Filename:= _
        "C:\Documents and Settings\mimi\image.JPG", _
        LinkToFile:=False, SaveWithDocument:=True
     
    'le champ va etre inséré dans la 2eme celule de l'entete
    Set Cible = WordDoc.Sections(1).Headers(wdHeaderFooterPrimary). _
        Range.Tables(1).Cell(1, 2).Range
    Cible.Text = ""
    Cible.Collapse wdCollapseStart
    'insertion du champ  "Numero de page"
    WordDoc.Fields.Add Range:=Cible, _
        Type:=wdFieldPage, PreserveFormatting:=True
     
    'Insère le titre dans la 3eme cellule de l'entête
    Set Cible = WordDoc.Sections(1).Headers(wdHeaderFooterPrimary). _
        Range.Tables(1).Cell(1, 3).Range
    Cible.Text = "Le titre"

    bonne soirée
    michel

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 13
    Par défaut
    Bonjour SilkyRoad,

    Merci pour ta réponse.
    J'ai testé ton code et il fonctionne parfaitement, avec quelques adaptations pour que le numéro de page apparaisse à la fin de mon champ et non au début comme c'est le cas avec ton programme.

    Juste pour satisfaire ma curiosité, pourrais-tu me dire s'il existe une commande pour ajouter le numéro de page à la fin du champ et non au début ?
    J'ai identifié que c'est la ligne "Cible.Collapse wdCollapseStart" qui te permet d'insérer ce numéro de page en début de champ sans effacer le contenu existant.
    J'ai testé la commande wdCollapseEnd mais le numéro de page est alors insérer au début de la colonne suivante.

    Encore merci pour ton code et ta réactivité.

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

Discussions similaires

  1. [VBA] [5.1.8] Créer une requête BO (via Macro depuis Excel)
    Par Bretonnie dans le forum SDK
    Réponses: 6
    Dernier message: 08/04/2015, 18h20
  2. [Toutes versions] Importer données dans fichier Excel via macro VBA
    Par JEREMY01 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 10/07/2012, 23h13
  3. [XL-2007] Gestion de document Word via macro VBA excel
    Par guiMM dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 17/10/2011, 15h30
  4. Réponses: 10
    Dernier message: 05/04/2011, 17h27
  5. [XL-2003] Fermeture de Processus Word via Macro VBA Excel
    Par ted the Ors dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 30/10/2009, 19h46

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