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

Word Discussion :

Récupérer champs d'un doc dans un autre doc word [WD-2007]


Sujet :

Word

  1. #1
    Membre habitué Avatar de lou-03
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    156
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 156
    Points : 153
    Points
    153
    Par défaut Récupérer champs d'un doc dans un autre doc word
    Bonjour,

    Voici mon problème : j'ai un doc contenant des infos et un autre vide.

    Doc 1

    Nom : Toto

    Doc vide

    Nom :
    Je voudrais récupérer dans le doc vide "Toto". J'ai essayé en mettant un signet sur Toto appelé nom_pers et en mettant un champ dans le doc vide avec un includetext : INCLUDETEXT "doc1.doc" nom_pers.

    Mais là il me met à coté de "Nom :" Erreur ! Nom de fichier incorrect.

    Pourtant j'ai fais exprès de mettre ces deux docs dans le même répertoire pour éviter toute confusion...

    Quelqu'un aurait-il une idée??

    Merci d'avance

  2. #2
    Membre habitué Avatar de lou-03
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    156
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 156
    Points : 153
    Points
    153
    Par défaut Solution
    Pour finir j'ai trouvé
    Je mets ma solution pour ceux qui auraient le même problème.

    En fait il faut d'abord ajouter des signets aux deux docs (avec les mêmes noms)
    Par exemple dans le doc1 le signet pour le nom s'appellera NOM_pers et dans le doc vide aussi.
    Ensuite il faut faire une macro qui parcours tous les signets du doc1 et ceux du doc vide. Lorsque l'on trouve deux signets avec le même nom, on ajoute le contenu à l'autre.

    Voilà la macro :

    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
     
    Sub wordsignet()
    '
    ' wordsignet Macro
    '
    '
    'Dim wrd As Object
    Dim wrd As Object
    Dim i As Integer, aBookmark
    Set wrd = CreateObject("Word.Application")
    wrd.Documents.Open FileName:="Chemin du doc rempli"
    If wrd.ActiveDocument.Bookmarks.Count >= 1 Then
    For Each aBookmark In wrd.ActiveDocument.Bookmarks
        For Each bBookmark In ActiveDocument.Bookmarks
            If bBookmark.Name = aBookmark.Name Then
                bBookmark.Range.Text = aBookmark.Range
            End If
        Next bBookmark
    Next aBookmark
    End If
    wrd.Quit
    Set wrd = Nothing
     
     
    End Sub
    Voilà!

  3. #3
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 086
    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 086
    Points : 42 925
    Points
    42 925
    Par défaut
    Salut,

    Si tu souhaites passer par du VBA, il y plus simple.

    Une boucle sur les bookmarks d'un document pour les copier dans le second.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Dim oDoc01 As Document
    Dim oDoc02 As Document
    Dim oBk As Bookmark
     
    Set oDoc01 = Application.Documents.Open("Mon Doc 1")
    Set oDoc02 = Application.Documents.Open("Mon Doc 2")
     
    For Each oBk in oDoc01.Bookmarks
        oDoc2.Bookmarks(oBk.Name).Range.text = oBk.Range.text
    Next obk
    Sans VBA, on peut le faire avec un simple copier coller avec liaison.

  4. #4
    Membre habitué Avatar de lou-03
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    156
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 156
    Points : 153
    Points
    153
    Par défaut
    C'est vrai je n'y avais pas pensé !

    Je ne connaissais pas le copier-coller avec liaison. C'est un copier-coller qui met chaque info au bon endroit je suppose ?

  5. #5
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 086
    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 086
    Points : 42 925
    Points
    42 925
    Par défaut
    Salut,

    Les infos sont mise à jour dans le document cible avec les info du document source.
    On peut le faire d'un document à l'autre où dans un même document.
    la mise à jour se fait par Ctrl + A suivi de F9.

  6. #6
    Membre habitué Avatar de lou-03
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    156
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 156
    Points : 153
    Points
    153
    Par défaut
    Ah ok, merci pour les renseignements

    Je proposerais les deux solutions aux utilisateurs

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

Discussions similaires

  1. [WD-2013] Importer le style d'un doc dans un autre doc déjà créé
    Par Ehlana dans le forum Word
    Réponses: 12
    Dernier message: 17/02/2015, 21h16
  2. Récupérer le champs d'un objet dans un autre
    Par metamax dans le forum Salesforce.com
    Réponses: 7
    Dernier message: 17/05/2012, 05h34
  3. Ajout noeud d'un doc dans un autre doc Xml
    Par phfle1 dans le forum VB.NET
    Réponses: 1
    Dernier message: 26/06/2008, 21h10
  4. Réponses: 1
    Dernier message: 04/05/2006, 09h26
  5. Récupération des champs d'un form dans un autre
    Par Crazyblinkgirl dans le forum ASP
    Réponses: 10
    Dernier message: 22/06/2004, 10h31

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