|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : novembre 2006 Messages : 12 ![]() |
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 |
|
|
00
|
|
|
#2 |
|
Inactif
Inscription : février 2005 Messages : 12 466 ![]() |
Tu dois mettre deux \ dans le chemin sinon ça marche pas
Code :
{ INCLURETEXTE "D:\\Doc\\Il me reste à les insérer dans la phrase.doc" Nom \* FUSIONFORMAT } Edit En VBA, chais pas |
|
|
00
|
|
|
#3 | ||
|
Inactif
Inscription : février 2005 Messages : 12 466 ![]() |
Testé et tout
Code :
|
||
|
|
00
|
|
|
#4 |
|
Invité de passage
![]() Inscription : novembre 2006 Messages : 12 ![]() |
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 |
|
|
00
|
|
|
#5 |
|
Inactif
Inscription : février 2005 Messages : 12 466 ![]() |
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... |
|
|
00
|
|
|
#6 |
|
Invité de passage
![]() Inscription : novembre 2006 Messages : 12 ![]() |
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 |
|
|
00
|
|
|
#7 | |
|
Inactif
Inscription : février 2005 Messages : 12 466 ![]() |
Citation:
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 |
|
|
|
00
|
|
|
#8 |
|
Invité de passage
![]() Inscription : novembre 2006 Messages : 12 ![]() |
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 |
|
|
00
|
|
|
#9 |
|
Inactif
Inscription : février 2005 Messages : 12 466 ![]() |
Code :
Selection.MoveRight Unit:=wdWord, Count:=1, Extend:=wdExtend Mets ton code rien que pour voir |
|
|
00
|
|
|
#10 | ||
|
Invité de passage
![]() Inscription : novembre 2006 Messages : 12 ![]() |
Donc voici le code que j'utilise. J'ai supprimé \* FUSIONFORMAT car il est ajouté dès que je lance la macro.
Merci Code :
|
||
|
|
00
|
|
|
#11 | |
|
Inactif
Inscription : février 2005 Messages : 12 466 ![]() |
Tu as mis le nom de mon fichier
Citation:
J'espère que ça va fonctionner maintenant A+ |
|
|
|
00
|
|
|
#12 |
|
Invité de passage
![]() Inscription : novembre 2006 Messages : 12 ![]() |
J'ai créé un fichier sous C:\doc\ qui porte le nom de ton fichier.
Ce n'est malheureusement pas le pb :-( |
|
|
00
|
|
|
#13 |
|
Inactif
Inscription : février 2005 Messages : 12 466 ![]() |
Et tu mets bien le nom du signet sur le mot en excluant l'espace à droite ?
A+ |
|
|
00
|
|
|
#14 |
|
Inactif
Inscription : février 2005 Messages : 12 466 ![]() |
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 |
|
|
00
|
|
|
#15 |
|
Invité de passage
![]() Inscription : novembre 2006 Messages : 12 ![]() |
Ca marche .... :-)
Merci pour ta patience |
|
|
00
|
|
|
#16 |
![]() ![]() Alain GerardConsultant informatique Inscription : mai 2005 Messages : 3 675 ![]() |
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! |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com