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 :

VBA Word fusion


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2013
    Messages
    136
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 136
    Par défaut VBA Word fusion
    Bonjour,
    Je dois fusionner plusieurs fichiers word qui contiennent chacun un paragraphe et sous paragraphe en A seul fichier avec une mise à jour de la table de numérotation.
    Exemple: j'ai 4 fichiers: fichier1.docx, fichier2.docx.... chacun contient un paragraphe exemple
    le fichier1 contient : Présentation générale
    le fichier2 contient : Démonstration
    le fichier3 contient : Préparation
    le fichier4 contient: Solution
    Mon but est de les fusionner en utilisant vba pour avoir un fichier globale:Proejt.doc qui contient:
    1- Présentation générale, 2-Démonstration, 3- Préparation et 4- Solution

    Je déjà réussi à fusionner plusieurs fichier avec le code ci-dessous mais je n'arrive pas à intégrer la notion de paragraphe.
    Merci pour votre aide.


    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
    Dim wrdApp As Object
    Dim wrdDoc1 As Object
    Dim wrdDoc2 As Object
    Dim wrdDoc3 As Object
    Dim Cible As Paragraph
     
    Set WordApp = CreateObject("Word.Application")     '-- ouvre une session Word
        WordApp.Visible = True
     
    Set wrdDoc1 = WordApp.Documents.Open("C:\Users\Desktop\ch1.docx", ReadOnly:=False) 'ouvrir propagen.doc
    Set wrdDoc2 = WordApp.Documents.Open("C:\Users\Desktop\ch2.docx", ReadOnly:=False)
    Set wrdDoc3 = WordApp.Documents.Open("C:\Users\Desktop\proejt.docx", ReadOnly:=False)
     
    wrdDoc3.Content.InsertAfter wrdDoc1.Content
    wrdDoc3.Content.InsertAfter wrdDoc2.Content
     
    wrdDoc3.SaveAs "C:\Users\Desktop\Projet.docx"
    WordApp.Quit
     
    MsgBox "Fusion ok"

  2. #2
    Membre Expert
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Septembre 2013
    Messages
    783
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Septembre 2013
    Messages : 783
    Par défaut
    Bonjour,

    Le paragraphe dans Word est un objet, et donc vous pouvez (souhaitable) le traiter tel quel ....

    Par exemple:
    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
    Sub Extract_WordPar(WordDC As Word.Document)
    'Extract the different paragraphs from a Word Document
     
    Dim WordPar As Word.Paragraph, WordTabl As Word.Table, WordCl As Word.Cell
    Dim WordElemCntL As Long, FoundTagB As Boolean, WordElemCurL As Long, WorParTotL As Long, ProgIndL(1 To 2) As Single
     
     
    ' Init
        On Error GoTo Err_Extract_WordTags
        WorParTotL = WordDC.Paragraphs.Count: WordElemCurL = 0: RecCntI = 0
     
     
    ' Parse all the paragraphs except tables
     
        For Each WordPar In WordDC.Paragraphs
     
            WordElemCurL = WordElemCurL + 1: ProgIndL(1) = WordElemCurL / WorParTotL
     
                'Paragraph only, not tables
            If WordPar.Range.Tables.Count = 0 Then
     
                With WordPar
           ' Do something
    Je crois qu'il y a aussi une fonction merge dans le VBA word Document.Merge Name:="Fichier à merger"

Discussions similaires

  1. Réponses: 3
    Dernier message: 09/10/2012, 21h21
  2. [VBA - W] fusion de documents word + garder les styles
    Par schuitonzo dans le forum VBA Word
    Réponses: 6
    Dernier message: 16/04/2011, 12h37
  3. [VBA-Word] Fusion & Publipostage
    Par damsmut dans le forum VBA Word
    Réponses: 15
    Dernier message: 22/06/2007, 20h44
  4. [VB6][VBA][WORD 2003] Fusion - Publipostage.
    Par L.nico dans le forum VBA Word
    Réponses: 4
    Dernier message: 13/07/2005, 16h00
  5. [VBA-E] Fusion de cellule
    Par Nicos77 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 29/07/2004, 14h24

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