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 :

[VBA-W]Inserer du word dans mon doc word


Sujet :

VBA Word

  1. #1
    Membre du Club
    Inscrit en
    Avril 2007
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 116
    Points : 56
    Points
    56
    Par défaut [VBA-W]Inserer du word dans mon doc word
    J'ai pu avoir ce code pour pouvoir insérer un doc word dans mon word, Le problème c'est que cela me prend que la premiere page de mon doc word?


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ThisDocument.InlineShapes.AddOLEObject ClassType:="Word.Document.8", _
            FileName:=Chemin, Range:=Selection.Range
    Comment résoudre le problème?

  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
    Points : 15 546
    Points
    15 546
    Par défaut
    Que veux-tu insérer ? Le Doc en tant qu'objet ou le texte contenu dans le doc ?

  3. #3
    Membre du Club
    Inscrit en
    Avril 2007
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 116
    Points : 56
    Points
    56
    Par défaut
    Le texte contenu dans le word mais en tant qu'inlineshape pour ne pas mettre en l'air la mise en page de mon doc word.

    Sinon tu m'avais donné ca mais ca modifier toute la numérotation de mes paragraphes:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Selection.InsertFile FileName:=Chemin, Range:="", ConfirmConversions:=False, Link:=False, Attachment:=False

  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
    Points : 15 546
    Points
    15 546
    Par défaut
    As-tu essayé en remplaçant le type par le nom du fichier
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ThisDocument.InlineShapes.AddOLEObject FileName:=CheminComplet, _
    Range:=Selection.Range
    Citation Envoyé par L'aide
    ClassType Argument de type Variant facultatif. Nom de l'application utilisée pour activer l'objet OLE spécifié.
    FileName Argument de type Variant facultatif. Fichier à partir duquel créer l'objet. Si vous ne spécifiez pas cet argument, c'est le dossier en cours qui est utilisé. Précisez soit l'argument ClassType, soit l'argument FileName de l'objet, mais pas les deux.
    Tu dis. (Je n'ai encore rien testé)

  5. #5
    Membre du Club
    Inscrit en
    Avril 2007
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 116
    Points : 56
    Points
    56
    Par défaut
    Non toujours que la premiere page qui s'affiche,jamais tout le document word

  6. #6
    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
    Points : 15 546
    Points
    15 546
    Par défaut
    Avec le premier code que je t'ai passé, tu as essayé F9 ?
    En fait j'ai besoin d'une explication : Ton doc, tu l'insères quelque part dans le texte. Que souhaites-tu ? Que les N° de chapitres s'adaptent ou qu'ils conservent tous leurs N° d'origine (texte "résident" d'un côté et texte collé de l'autre) ?

  7. #7
    Membre du Club
    Inscrit en
    Avril 2007
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 116
    Points : 56
    Points
    56
    Par défaut
    rien avec F9, et c'est ca que je veux que chacun garde ca numérotation d'origine texte résident d'un coté et texte collé de l'autre.

    Je veux placer mon donc word tel quel dans le doc word résident.

  8. #8
    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
    Points : 15 546
    Points
    15 546
    Par défaut
    Et si tu insères ton fichier dans un objet "Document Word" lui-même inséré dans ton doc récepteur : Brut de décoffrage, y'a peut-être des choses à modifier (?)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
        Selection.InlineShapes.AddOLEObject ClassType:="Word.Document.8", FileName _
            :="", LinkToFile:=False, DisplayAsIcon:=False
        ActiveWindow.ActivePane.LargeScroll Down:=1
        Selection.InsertFile FileName:=Chemin, Range:="", _
        ConfirmConversions:=False, Link:=False, Attachment:=False
    (Toujours pas testé)
    A+

  9. #9
    Membre du Club
    Inscrit en
    Avril 2007
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 116
    Points : 56
    Points
    56
    Par défaut
    Non c'est pas ce que je veux, sinon je peux passer par le format pdf.
    On peut insérer un pdf dans un doc word?Et comment?

  10. #10
    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
    Points : 15 546
    Points
    15 546
    Par défaut
    J'ai un peu testé ce que donne l'une ou l'autre façon d'insérer des fichiers.
    Le code que tu as utilisé permet de lire le fichier inséré. Je parle de celui-ci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
        Selection.InlineShapes.AddOLEObject ClassType:="Word.Document.8", _
    FileName:=NomFich
    Le problème est que la première page est affichée, mais pour le lire, il est nécessaire de faire deux clic sur le doc.
    Idem pour le pdf, deux clics ouvre Adobe Acrobat Reader (V 7).
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
        Selection.InlineShapes.AddOLEObject ClassType:="AcroExch.Document.7", _
            FileName:="C:\Program Files\Microsoft Works\wksgsg03.pdf"
    Le code que je t'ai donné en premier paraît faire la même chose. Je parle de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ThisDocument.InlineShapes.AddOLEObject FileName:=CheminComplet, _
    Range:=Selection.Range
    La seule solution pour que le texte apparaisse en entier es le simple copier/coller
    J'ai regardé les différents paramètres d''insertion de sauts de section avec l'un des types de paramètres disponibles, malheureusement, ça ne fonctionne pas, les sauts de sections s'adaptent au doc principal.
    Je te passe ce que j'ai fait, ça t'évitera de le refaire. Les paramètres testés :
    wdSectionBreakNextPage 'ne convient pas

    wdSectionBreakContinuous 'ne convient pas

    wdSectionBreakEvenPage 'ne convient pas

    wdSectionBreakOddPage 'ne convient pas

    wdTextWrappingBreak 'ne convient pas
    Le code pour insérer le saut de section
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        Selection.InsertBreak Type:= ???????
    Le code pour un copier/coller
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
        Documents.Open FileName:="Fichier à insérer.doc"
        Selection.WholeStory
        Selection.Copy
        Windows(1).Activate 'Le doc principal
        Selection.PasteAndFormat (wdPasteDefault)
    Si j'ai fait tout ça c'est que j'ai eu ce problème (c'est vieux) et la seule solution que j'avais trouvée avait été la copie d'écran page par page et le collage en tant qu'images. J'avais simplement pris la précaution de changer la police ou la couleur du texte.
    Et là, je suis sec d'idée.
    A+ et bonne chance. Mais si tu trouves une solution, n'hésite pas à la mettre ici

  11. #11
    Membre du Club
    Inscrit en
    Avril 2007
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 116
    Points : 56
    Points
    56
    Par défaut
    Petit problème avec ton copier/coller.
    Ca m'ouvre le doc word et c'est tout!
    Pas de copier coller dans mon doc principal.

  12. #12
    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
    Points : 15 546
    Points
    15 546
    Par défaut
    Cela doit provenir du fait qu'il faut du temps au doc pour s'ouvrir. Ajoute un DoEvents entre les deux premières lignes.
    Tu dis

  13. #13
    Membre du Club
    Inscrit en
    Avril 2007
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 116
    Points : 56
    Points
    56
    Par défaut
    Rien qui se copie, je vois pas ce qui se passe.

  14. #14
    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
    Points : 15 546
    Points
    15 546
    Par défaut
    Tu as fait comme ça ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
        Documents.Open FileName:="d:\Doc\flear.doc"
        DoEvents
        Selection.WholeStory
        Selection.Copy
        Windows(1).Activate
        Selection.PasteAndFormat (wdPasteDefault)
    Mon doc fait 258 pages et l'insertion se fait sans pb

    NB - Le doc copié est déjà ouvert (!) Est-ce la raison ?
    Tu dis

    Edit
    Testé en fermant le doc : Tout ok. C'est pas ça.

  15. #15
    Membre du Club
    Inscrit en
    Avril 2007
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 116
    Points : 56
    Points
    56
    Par défaut
    voici ma fonction

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Sub InsertWordVersWord(Chemin As String)
    'Cette procédure recoit le chemin et renvoie le contenu d'un doc word dans le RA
     
        Documents.Open FileName:=Chemin
        DoEvents
        Selection.WholeStory
        Selection.Copy
        Windows(1).Activate
        Selection.PasteAndFormat (wdPasteDefault)
     
    End Sub

    C'est la meme que toi et mon doc ne fait que 117 pages, je comprends pas!

  16. #16
    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
    Points : 15 546
    Points
    15 546
    Par défaut
    Je ne peux rien te dire, si ce n'est, pas un pt d'arrêt, de vérifier le chemin et le nom du fichier dans la procédure appelée (InsertWordVersWord)

  17. #17
    Membre du Club
    Inscrit en
    Avril 2007
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 116
    Points : 56
    Points
    56
    Par défaut
    ok c'est bon merci

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

Discussions similaires

  1. Inserer des numeros pages dans un doc Word depuis Excel en VBA
    Par bguichardaz dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 06/01/2010, 17h45
  2. Envoyer doc WORD dans le "corps" par mail via VBA
    Par shingo94 dans le forum VBA Access
    Réponses: 10
    Dernier message: 08/02/2008, 14h45
  3. Réponses: 5
    Dernier message: 27/04/2007, 15h38
  4. [VBA-E] maj d'une image dans un doc word
    Par dev81 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 19/04/2007, 16h59
  5. [VBA-E] Insérer n° page auto dans un doc Word
    Par tarmin dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 12/05/2006, 09h14

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