Remplir page Word avec les données d'un base acces

Messages postés
3
Date d'inscription
lundi 2 juillet 2007
Statut
Membre
Dernière intervention
24 octobre 2007
- - Dernière réponse : sasy22
Messages postés
3
Date d'inscription
lundi 2 juillet 2007
Statut
Membre
Dernière intervention
24 octobre 2007
- 24 oct. 2007 à 13:53
Bonjour, je cherche depuis un bon moment et je commence à être désésperé....
je suis entrain de créer une petite application sur vb.net avec une base access...j'ai dans cette appli un onglet contrat.
je voudrais, lorsque je clique sur un bouton générer contrat, qu'une feuille "type" s'ouvre sur word avec les champs qu'il y a sur mon application. (Ex.Nom, prénom, num_Contrat qu'on extrait de la base access sur vb.net, et qui iront dans des champ de publipostage sur word).
merci d'avance pour vos réponses
Afficher la suite 

3 réponses

Meilleure réponse
Messages postés
96
Date d'inscription
mardi 29 mars 2005
Statut
Membre
Dernière intervention
10 mars 2011
2
2
Merci
Bonjour, voici comment envoyer des données dans un fichier WORD:

1/ creer un fichier word avec la mise en page qui te convient.
2/ se positionner sur le zones à remplir, faire INSERTION puis SIGNET et donner un nom au signet. Répeter l'opération autant de fois que nécessaire (utilise des noms de signet évocateurs), puis sauve le fichier.
3/ dans VB cocher dans PROJET, REFERENCE, Microsoft Word xx object Library selon ta version de Word.

4/ le code suivant te permet d'ouvrir word et d'envoyer les données à la place de tes signets.
Dim MWordApp As Word.Application
Dim MWordDoc As Word.Document


 'ouvre une session Word
Set MWordApp = CreateObject("word.application")   
'ouvre le document Word
Set MWordDoc = MWordApp.Documents.Open("c:\temp.doc")

'Complète le signet nommé Signet1 par du texte (ex:MonNom)
 MWordDoc.Bookmarks("Signet1").Range.Text = "MonNom"

'ferme le document
MWordDoc.close

Il te reste à récupérer les données de ta base de données pour effectuer la fusion.
J'espère avoir répondu à ta question

Dire « Merci » 2

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

Codes Sources 195 internautes nous ont dit merci ce mois-ci

Commenter la réponse de JPGVB
Messages postés
3
Date d'inscription
lundi 2 juillet 2007
Statut
Membre
Dernière intervention
24 octobre 2007
0
Merci
Bonjour tout d'abord merci pour ta réponse....
Pour le point 3. je vais bien dans projet-->ajouter une référence.la il y a une fenêtre qui apparait avec 5 onglets(.net, com, projets, parcourir, récent).dans l'onglet com je trouve effectivement Microsoft Word 12.0 Object library.
j'appuie sur ok et lorsque j'ecris
Dim MWordApp As Word.Application
Dim MWordDoc As Word.Document

il ne reconnait pas le Word.Application(Type.Word.Application.non défini)et il me donne une liste de choix pour changer.

voici mon code(je n'ai pas fini...)

Module Contrats
    Dim MWordApp As Microsoft.Office.Interop.Word.Application
    Dim MWordDoc As Microsoft.Office.Interop.Word.Document


    Public Sub word()
        'ouvre une session Word
        MWordApp = CreateObject("word.application")
        'ouvre le document Word
        MWordDoc = MWordApp.Document.Open("D:\word\Doc1.doc")


        'Complète le signet nommé Signet1 par du texte (ex:MonNom)
        MWordDoc.Bookmarks("NomUsager").Range.Text = Pinacotheque.tbNomCon.Text


        'ferme le document
         MWordDoc.Close()


    End Sub


End Module

lors de la phrase MWordDoc = MWordApp.Document.Open("D:\word\Doc1.doc") il me sort "Le membre public 'Document' du type 'ApplicationClass' est introuvable '"

je pense que le problème se trouve dans le fait que je n'arrive pas a definir les variables avec word.application et word.document.

si tu peux encore une fois m'éclairer se serait très sympa
merci
Commenter la réponse de sasy22
Messages postés
3
Date d'inscription
lundi 2 juillet 2007
Statut
Membre
Dernière intervention
24 octobre 2007
0
Merci
C bon j'ai trouvé...j'ai réussi à faire la liaison
je devais rajouter "s" à document...

merci mille fois
Commenter la réponse de sasy22