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 :

Word vers Word avec mise en page


Sujet :

VBA Word

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2015
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2015
    Messages : 3
    Points : 1
    Points
    1
    Par défaut Word vers Word avec mise en page
    Bonjour à tous.
    En gros, j'ai mon document word, dans lequel je lance la macro. Et je voudrais que lorsque je clique sur le bouton 'Valider' de ma macro, un texte situé dans un autre document Word s'insère. Malheureusement, le code ci-dessous ne conserve pas la mise en page du texte de l'autre document. De plus, je ne peux l'utiliser qu'une fois. La seconde fois, Word plante, et l'erreur est ici
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    objWord.Documents.Open strFichier
    (il me dit que le document est déjà ouvert, alors que je ne le vois même pas...)
    Bref, tout ce que j'ai dis est un peu brouillon, désolé. Voici mon code, et 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
    21
     
    Dim strFichier As String
    Dim objWord As New Word.Application
    Dim MyRange As Range
    Dim qDoc As Word.Document
     
    strFichier = "Chemin.docx"
     
     
    objWord.Documents.Open strFichier
    objWord.Visible = False
     
     
    Set qDoc = ActiveDocument
    Set MyRange = objWord.ActiveDocument.Content
     
    qDoc.Bookmarks("Infos").Range = MyRange
     
    objWord.Documents.Close
    objWord.Quit
    Set objWord = Nothing

  2. #2
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2015
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2015
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Bon, j'ai cherché pas mal sur internet et j'ai fini par trouver ça :
    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
     
    Dim objWord As New Word.Application
    Dim MyRange As Range
    Dim rtffile As Word.Document
    Dim qDoc As Word.Document
     
    Set rtffile = objWord.Documents.Open(FileName:="C:\Users\stagebe1\Desktop\2015 BTS1 Thomas Macro Word\InfosContrats.docx", ConfirmConversions:=False, ReadOnly:=True)
     
    objWord.Visible = False
     
    Set qDoc = ActiveDocument
    Set MyRange = objWord.ActiveDocument.Content
     
    MyRange.Copy
    qDoc.Bookmarks("InfosContrat").Range.PasteAndFormat wdChartPicture
     
    objWord.Documents.Close SaveChanges:=wdDoNotSaveChanges
    objWord.Quit
    Set objWord = Nothing
    Avec ce code, le texte (juste la première page, je ne sais pas pourquoi) s'insère bien comme je le veux, sous le format d'une image. Mais lorsque je change
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    qDoc.Bookmarks("InfosContrat").Range.PasteAndFormat wdChartPicture
    en
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    qDoc.Bookmarks("InfosContrat").Range.PasteAndFormat wdFormatOriginalFormatting
    , Word plante...HELP ME PLEASE

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2015
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2015
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Por favor, j'aurais vraiment besoin d'une petite aide

  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
    Salut,

    Peut-être une piste plus intéressante pour ce que tu veux faire.
    http://heureuxoli.developpez.com/off...cument-tiroir/
    Si ça te convient, la mise en forme peut se faire avec des styles.
    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 !

Discussions similaires

  1. [XL-2007] copie valeur cellule dans word avec mise en page
    Par lenul78570 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 24/02/2010, 10h54
  2. Réponses: 1
    Dernier message: 03/01/2010, 16h45
  3. Réponses: 2
    Dernier message: 24/10/2007, 11h44
  4. Export d'etat ACCESS vers WORD/EXCEL : pb de mise en forme
    Par leguminator dans le forum Access
    Réponses: 2
    Dernier message: 25/10/2005, 11h03

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