Ouvrir et ecrire dans un document word [Résolu/Fermé]

Signaler
Messages postés
324
Date d'inscription
dimanche 12 mai 2013
Statut
Membre
Dernière intervention
10 mars 2020
-
Messages postés
324
Date d'inscription
dimanche 12 mai 2013
Statut
Membre
Dernière intervention
10 mars 2020
-
Bonjour à tous,

Je me permets de vous contacter par rapport à une solution que je recherche.
En gros, je dispose deux fichiers Exel et Word:
- Un premier fichier (Template) de document word enregistré dans un répertoire (Disque C)
- Un fichier Excel contenant des informations sur les salariés

Je voudrais qu'ne cliquant sur le bouton depuis mon fichier Excel, ouvrir le document word, remplir le fichier avec les information contenues dans mon fichier Excel puis enregistrer ensuite le document word sous un nouveau nom.

J'ai réussi à trouver le code permettant d'ouvrir le document Word mais je n'ai aucune idée sur comment remplir le fichier avec les informations contenues dans mon fichjier Excel.

Je vous joins les liens vers les deux fishier:
http://www.cjoint.com/c/GJntbZX3VIw
http://www.cjoint.com/c/GJns0NSU2Vw

Je vous remercie beaucoup pour votre aide.

Bonne soirée

Partager son savoir est la meilleure façon d'apprendre!

4 réponses

Messages postés
6847
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
24 juillet 2020
533
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 57473 internautes nous ont dit merci ce mois-ci

Messages postés
324
Date d'inscription
dimanche 12 mai 2013
Statut
Membre
Dernière intervention
10 mars 2020
3
Bonjour,

Merci mais ce n'est pas ce que je recherche. Dans votre exemple il s'git de copier des tableaux ou image dans word. Ce qui n'était pas utile car depuis excel on pouvait faire exort de la page directement au format word ou pdf avec les même résultats au final.

Dans mon cas, il s'agit de copier des données depuis excel vers word dans des emplacements bien définir à l'intérieur d'un paragraphe contenant déjà du texte.

Cordialement,
Messages postés
11647
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
27 juillet 2020
666
bonjour,
je te suggère de t'inspirer de ceci:
Sub test()
    'On déclare, instancie et affiche Word :
    Dim traitementTexte As Word.Application
    Set traitementTexte = New Word.Application
    traitementTexte.Visible = True
 
    'On ouvre le bon document
    Dim leDoc As Document
    Set leDoc = traitementTexte.Documents.Open("C:\Bureau\Modele Word.docx")
 
    'On tente de remplacer <BALISE> par le texte de remplacement :
    leDoc.Content.Find.Execute FindText:="<BALISE>", ReplaceWith:="texte de remplacement", Replace:=WdReplaceAll
End Sub
Messages postés
324
Date d'inscription
dimanche 12 mai 2013
Statut
Membre
Dernière intervention
10 mars 2020
3
Bonsoir,

J'ai réussi à adapter votre code avec mon cas.
Mais après remplacement de la valeur de la balise par mon texte.
Exemple, si je remplace "<BALISE>" par "Monsieur", j'ai à la fin le résultat "Monsieur" (le mot Monsieur se met entre les cote " "").

J'ai essayé de ne pas mettre ma balise entre " " pour que mon mot ne se met pas entre " " mais en faisant cela, le remplacement ne marche pas.

Avez-vous une idée d'adapter le code de façon à avoir le texte de remplacement qui ne se met pas entre code (" ") ?

C'est actuellement mon seule blocage.

Merci encore pour votre aide.
Messages postés
6847
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
24 juillet 2020
533
Comme ceci:

 leDoc.Content.Find.Execute FindText:="Nom:", ReplaceWith:="Nom: PICARD", Replace:=wdReplaceOne


@+ Le Pivert
Messages postés
324
Date d'inscription
dimanche 12 mai 2013
Statut
Membre
Dernière intervention
10 mars 2020
3
J'ai essayé avec:
leDoc.Content.Find.Execute FindText:="Nom:", ReplaceWith:="Nom: PICARD", Replace:=wdReplaceOne

mais ça ne marche pas.
Messages postés
6847
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
24 juillet 2020
533
Voici un exemple qui fonctionne. Il suffit de dézipper pour avoir accès aux fichiers.
J'ai mis 2 manières de procéder: avec Replace et avec les Signets. Il y a 2 façons également avec les Signets. Il suffit de sélectionner la ligne où se trouve les données pour que l'enregistrement se fasse au nom du contact dans le même dossier que le document Template:

http://www.cjoint.com/c/GJrfXjqItEQ

Voilà
Messages postés
6847
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
24 juillet 2020
533
Tu vas me demander la différence entre les Signets et Replace. Dans les Signets la cellule est copiée avec sa mise en forme, sa couleur etc. Et est collé dans Word avec la mise en forme d' Excel. Avec Replace , le texte est remplacé et garde la mise en forme d'origine du document Word.

A toi de voir!
Messages postés
324
Date d'inscription
dimanche 12 mai 2013
Statut
Membre
Dernière intervention
10 mars 2020
3
Bonjour Cs_Le Pivet,
Merci beaucoup pour votre aide.
J'ai réussi à mettre en place ce que je voulais en m'inspirant de vos proposition.
C'est très gentille de votre part.

Je clôture le sujet en le classant comme résolu.

A plus