Publipostage word vb

Résolu
cherif747 Messages postés 27 Date d'inscription vendredi 13 juin 2003 Statut Membre Dernière intervention 19 mars 2004 - 22 janv. 2004 à 14:51
cherif747 Messages postés 27 Date d'inscription vendredi 13 juin 2003 Statut Membre Dernière intervention 19 mars 2004 - 26 janv. 2004 à 19:18
Bonjour tout le monde,

voila je fais une application dans le cadre de mon stage pour un grand club de foot dans lequel je suis licencié. Malheureusement il me demande de développer un bout de code qui fera de moi le joueur le plus détesté du club!

et oui, ils veulent que je fasse un formulaire vb avec un bouton de commande qui va ouvrir un document word qui est une lettre de rappel pour les joueurs qui n'ont pas encore payé leur cotisation.
J'ai deja écrit la lettre et déjà fait la requete sur access pour avoir la liste de tous ceux qui n'ont pas payé, après je suis obligé de faire manuellement la fusion des champs de ma requete!

ce que je souhaiterais c fr un bouton qui imprime toutes les lettres avec les noms des mauvais payeurs correspondants.

Merci d'avance, g deja avancé un peu mais ca commence à coincer!

4 réponses

cherif747 Messages postés 27 Date d'inscription vendredi 13 juin 2003 Statut Membre Dernière intervention 19 mars 2004
26 janv. 2004 à 19:18
OK g trouvé la réponse!!!!!!!! Après une lutte acharnée, g reussi à fr mon publipostage à partir d'une requete access.

Voici le code bien sur pour ceux que ça interesse

Dim AppWord As Word.Application
Dim DocWord As Word.Document
Set AppWord = New Word.Application
AppWord.Visible = True
Set DocWord = AppWord.Documents.Open("Chemin de votre doc word")
With DocWord.MailMerge
.Destination = wdSendToNewDocument
.SuppressBlankLines = True
With .DataSource
.FirstRecord = wdDefaultFirstRecord
.LastRecord = wdDefaultLastRecord
End With
.Execute Pause:=False
End With
ActiveDocument.PrintOut
ActiveWindow.Close False
DocWord.Close False

' Faites attention à bien cocher la reference Microsoft Word 10.0

'votre document doit avoir un nom court !!! ba oui vb rale sinon!!!!!!

' enfin bon j'en profite aussi pour remercier encore une fois tous ceux qui m'ont aidé précédemment !!!!!!!!!!!

A++
3
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
23 janv. 2004 à 22:52
Public msword As New Word.Application
Public msexcel As New Excel.Application
Public Function edit_dpae()

msword.Application.Visible = True
msword.Documents.Open (App.path & "\modeles\reclame cotisation.doc")
strSQL = "****"

connADO.Open
rsADO.Open strSQL, connADO, adOpenKeyset, adLockOptimistic
msword.ActiveDocument.FormFields("nom").result = nomJoueur

rsado.close
connado.close
save("mon doc.doc")
end sub

Public Sub save(path As String)
msword.ActiveDocument.SaveAs path
msword.quit
End Sub

Il faut faire un template (modele) avec des signets dans word

if faut dans le menu projet de VB ajouter une reference avec
m$ word * object library dans le menu projet reference de VB

8-->97
9-->2000
10-->Xp
11-->2003
un truc du genre

Voila ca doit deja t'aider un peu dans ton programme
0
cherif747 Messages postés 27 Date d'inscription vendredi 13 juin 2003 Statut Membre Dernière intervention 19 mars 2004
24 janv. 2004 à 20:22
Avant toute chose, je tiens à te remercier d'avoir pris un peu de temps pour me répondre.

Par contre je n'ai pas compris tout le code, je vois qu'il y a des connections ADO à fr ( ce que je ne maitrise pas du tout)
et ma requete ne fonctionne pas sous vb.

select joueur.nom, joueur.prenom
from joueur
where joueur.catej="0";

Faut il cocher une reference spécifique pour ce genre de codes ( autres que celles que tu as mentionné) ?

Merci encore pour ton aide
0
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
25 janv. 2004 à 13:08
pour ado il faut cocher m$ active data oject 2.* * varie entre 5 et 8 je crois

ADO est plus facile a utiliser que DAO je trouve et est repris en parti dans .NET

DAO est demodé ;-)

Public connADO As New ADODB.Connection
Public rsADO As New ADODB.Recordset

'connADO.ConnectionString = "Provider=Microsoft.Jet.OLEDB.3.51;Persist Security Info=False;Data Source=" & App.path & "\base97.mdb"
connADO.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source=" & App.path & "\base2000.mdb"

La tu dois tout avoir

http://drq.developpez.com/vb/tutoriels/ADO/

Ou dans les technopoche sur le site m$ france
0
Rejoignez-nous