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 Discussion :

Automatiser le champ INCLUDETEXT


Sujet :

VBA

  1. #1
    Candidat au Club
    Inscrit en
    Novembre 2006
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 12
    Points : 2
    Points
    2
    Par défaut Automatiser le champ INCLUDETEXT
    Bonjour,

    Comment en VBA rechercher une partie de mot (ex: CM) dans un doc word et ensuite, définir des champs qui vont reprendre le mot entier.

    Exemple :

    Dans le doc word,

    on a les mots suivants :

    CM840002001
    CM214002001

    remplacer ces mots par {INCLUDETEXT "C:\CM840002001.doc"}
    et {INCLUDETEXT "C:\CM214002001.doc"}

    Je vous remercie

    Christel

  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 543
    Points
    15 543
    Par défaut
    Tu dois mettre deux \ dans le chemin sinon ça marche pas C'est du Word, pas du VBA
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    { INCLURETEXTE "D:\\Doc\\Il me reste à les insérer dans la phrase.doc" Nom \* FUSIONFORMAT }
    A+
    Edit
    En VBA, chais pas

  3. #3
    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 543
    Points
    15 543
    Par défaut
    Testé et tout
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
        Selection.Find.ClearFormatting
        With Selection.Find
            .Text = "CM840002001"
            .Replacement.Text = ""
        End With
        Selection.Find.Execute
        With Selection
            .Fields.Add Range:=Selection.Range, Type:=wdFieldEmpty, Text:= _
            "INCLURETEXTE ""D:\\Doc\\Il me reste à les insérer dans la phrase.doc"" Nom \* FUSIONFORMAT" _
            , PreserveFormatting:=True
        End With
    Où es-tu ?

  4. #4
    Candidat au Club
    Inscrit en
    Novembre 2006
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 12
    Points : 2
    Points
    2
    Par défaut
    Merci pour ta réponse.

    Mais cela ne fonctionne pas :-( Je teste sur WORD 2000.

    Voici le message d'erreur "Erreur ! Signet non défini." et le texte CM840002001 n'est pas remplacé.

    Merci pour ton aide.

    Christel

  5. #5
    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 543
    Points
    15 543
    Par défaut
    Dans le doc dans lequel tu prends la donnée, tu as bien défini le signet ?
    Je pense que oui mais comme chez moi ça fonctionne...

  6. #6
    Candidat au Club
    Inscrit en
    Novembre 2006
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 12
    Points : 2
    Points
    2
    Par défaut
    Désolée mais cela ne fonctionne pas.

    Dans mon fichier doc, j'ai tapée CM840002001. Avant ce mot, j'ai inséré un signet Nom.

    Lorsque j'exécute la macro, j'obtiens le champ suivant {INCLUDETEXT "C:\\Doc\\Il me reste à les insérer dans la phrase.doc" Nom \* MERGEFORMAT}.

    Et avec F9, le message d'erreur suivant : Erreur ! Signet non défini.

    Je ne comprends rien :-(

    Merci pour ton aide

    Christel

  7. #7
    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 543
    Points
    15 543
    Par défaut
    Citation Envoyé par Tu
    Avant ce mot, j'ai inséré un signet Nom.
    Pour que m'a proposition fonctionne, tu dois sélectionner ton mot pour affecter le signet.
    Sinon, pour récupérer le mot situé à droite du signet, tu dois faire un extend d'un mot. Or, dans ta formule, tu ne peux pas mettre une instruction VBA.
    Voilà tout

  8. #8
    Candidat au Club
    Inscrit en
    Novembre 2006
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 12
    Points : 2
    Points
    2
    Par défaut
    Désolée mais je viens de sélectionner le mot et lui affecter le signet Nom mais la macro ne fonctionne pas. Tjs le même pb, même message :-(

    Peux-tu me préciser ce que c'est un extend ? (Je ne suis pas programmeur en VBA)

    Je te remercie de ton aide

  9. #9
    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 543
    Points
    15 543
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        Selection.MoveRight Unit:=wdWord, Count:=1, Extend:=wdExtend
    Permet de sélectionner un mot (wdWord, Count = 1) situé à droite de la sélection. Dans ton cas, tu ne peux pas l'utiliser
    Mets ton code rien que pour voir

  10. #10
    Candidat au Club
    Inscrit en
    Novembre 2006
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 12
    Points : 2
    Points
    2
    Par défaut
    Donc voici le code que j'utilise. J'ai supprimé \* FUSIONFORMAT car il est ajouté dès que je lance la macro.

    Merci


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
        Selection.Find.ClearFormatting
        With Selection.Find
            .Text = "CM840002001"
            .Replacement.Text = ""
        End With
        Selection.Find.Execute
        With Selection
            .Fields.Add Range:=Selection.Range, Type:=wdFieldEmpty, Text:= _
            "INCLUDETEXT ""C:\\Doc\\Il me reste à les insérer dans la phrase.doc"" Nom" _
            , PreserveFormatting:=True
        End With

  11. #11
    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 543
    Points
    15 543
    Par défaut
    Tu as mis le nom de mon fichier
    ..."C:\\Doc\\Il me reste à les insérer dans la phrase.doc"
    A la place de ça, mets le nom complet de TON fichier (avec le chemin - C:\\.... ) pas du mien
    J'espère que ça va fonctionner maintenant
    A+

  12. #12
    Candidat au Club
    Inscrit en
    Novembre 2006
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 12
    Points : 2
    Points
    2
    Par défaut
    J'ai créé un fichier sous C:\doc\ qui porte le nom de ton fichier.

    Ce n'est malheureusement pas le pb :-(

  13. #13
    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 543
    Points
    15 543
    Par défaut
    Et tu mets bien le nom du signet sur le mot en excluant l'espace à droite ?
    A+

  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 543
    Points
    15 543
    Par défaut
    Un dernier effort :
    Je te joins deux fichier Word. La procédure qui te permet d'insérer la formule au bon endroit est dans un module standard du fichier "FichierFormule.doc"
    Le champ nommé est dans le fichierdonnées.doc. A moins que tu ne modifies l'adresse dans la macro, les deux fichiers doivent être placés dans D:\Doc
    Testé et tout
    Tu dis

    Pièce jointe 7171

  15. #15
    Candidat au Club
    Inscrit en
    Novembre 2006
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 12
    Points : 2
    Points
    2
    Par défaut
    Ca marche .... :-)

    Merci pour ta patience

  16. #16
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Points : 24 327
    Points
    24 327
    Par défaut
    Un petit , alors?
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

Discussions similaires

  1. [2.x] Automatiser un champ de type time en fonction d'un autre
    Par y0ussef dans le forum Symfony
    Réponses: 0
    Dernier message: 23/05/2012, 17h33
  2. [WD-2003] Problème publipostage champs INCLUDETEXT
    Par Sang1 dans le forum Word
    Réponses: 1
    Dernier message: 23/03/2011, 20h22
  3. Champs INCLUDETEXT avec source XML
    Par Pingva dans le forum Word
    Réponses: 2
    Dernier message: 08/01/2010, 10h29
  4. [Toutes versions] Curiosité Champ {Includetext} avec {COMPARE}
    Par ValPhi dans le forum Word
    Réponses: 3
    Dernier message: 03/10/2009, 10h25

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