VB client de Word

Résolu
pseudoOM Messages postés 173 Date d'inscription jeudi 3 février 2005 Statut Membre Dernière intervention 30 janvier 2009 - 12 déc. 2005 à 11:08
pseudoOM Messages postés 173 Date d'inscription jeudi 3 février 2005 Statut Membre Dernière intervention 30 janvier 2009 - 13 déc. 2005 à 12:47
Bonjour ! J'ai un petit problème qui à mon avis n'est pas compliqué à résoudre mais vu que je débute en vb je ne vois pas la solution. Il m'a été demandé de créer un document word et d'ajouter un signet. Ensuite en vb, je dois récupérer des noms et prénoms d'une base de données et les envoyer à la place du signet. Je l'ai fait mais il écrit les noms les uns derrière les autres et moi je voudrais qu'il n'y ai qu'un nom et prénom par page. Donc ma question est la suivante : après avoir envoyé le nom et le prénom dans le signet, y a-t-il quelque chose à ajouter pour passer à la page suivante ?

mon code est le suivant :

Dim rs_Eleves As Recordset
Dim str_NomPrenom As String

Set rs_Eleves = db_Eleves.OpenRecordset("Select * from Eleves", dbOpenDynaset)
Set word_Eleves = CreateObject("Word.Application")
word_Eleves.Visible = True

word_Eleves.Documents.Open App.Path & "\Eleves.doc"

Do Until rs_Eleves.EOF

str_NomPrenom = rs_Eleves("ele_Nom") & " " & rs_Eleves("ele_Prenom")
word_Eleves.ActiveDocument.Bookmarks("Nom_prenom").Select
word_Eleves.Selection.InsertAfter str_NomPrenom

word_Eleves.ActiveDocument.PrintOut

rs_Eleves.MoveNext

Loop

word_Eleves.ActiveDocument.Close False
word_Eleves.Quit

rs_Eleves.Close
Set rs_Eleves = Nothing

pseudoOM

1 réponse

pseudoOM Messages postés 173 Date d'inscription jeudi 3 février 2005 Statut Membre Dernière intervention 30 janvier 2009 1
13 déc. 2005 à 12:47
J'ai trouvé la solution : j'ai déclaré un champs dans le document word au lieu d'un signet. Ensuite je fais :
Do Until rs_Eleves.EOF

str_NomPrenom = rs_Eleves("ele_Nom") & " " & rs_Eleves("ele_Prenom")
word_Eleves.ActiveDocument.FormFields("Nom_prenom").Result = str_NomPrenom

word_Eleves.ActiveDocument.PrintOut
rs_Eleves.MoveNext

Loop
et ça fonctionne !

pseudoOM
3
Rejoignez-nous