stefdo
Messages postés6Date d'inscriptionjeudi 20 octobre 2005StatutMembreDernière intervention24 octobre 2005 20 oct. 2005 à 15:49
merci d'avoir répondu si vite
Je suis novice en VB et je ne vois pas ce que tu veux dire avec une macro automatique ?
Par contre voilà le début d'un code que j'essaye d'exécuter
Private Sub Command1_Click()
Dim wrdApp As Word.Application
Set wrdApp = New Word.Application
Dim wrdDoc As Word.Document
Dim mymerge As Word.Document
'Set wrdDoc = GetObject("c:\GAB\Clients\Courrier clientèle\Canevas Lettre intro devis .doc")
Set wrdDoc = wrdApp.Documents.Open("c:\GAB\Clients\Courrier clientèle\Canevas Lettre intro devis .doc")
With mymerge.MailMerge
' .OpenDataSource PathData
.Destination = wdSendToPrinter
.Execute True
End With
'Fermeture du doc type
mymerge.Close wdDoNotSaveChanges
avec erreur "object variable or with block variable not set "
cs_Willi
Messages postés2375Date d'inscriptionjeudi 12 juillet 2001StatutModérateurDernière intervention15 décembre 201822 21 oct. 2005 à 15:02
c'est bizarre je n'ai pas cette erreur !
je lui loin d'etre un export vba mais je pense que cela vient surerement de la manière dont tu déclares tes objets
Essais ceci
Dim wrdApp As New Word.Application
Dim wrdDoc As New Word.Document
Dim mymerge As New Word.Document
OpenDataSource PathData provoqué une erreur également ?
stefdo
Messages postés6Date d'inscriptionjeudi 20 octobre 2005StatutMembreDernière intervention24 octobre 2005 24 oct. 2005 à 14:59
Bonjour Willi,
voici le code +- finalisé mais il me pose parfois certains problème de vitesse de spooling vers l'imprimante quand son exécution précéde la génération de rapports access dans la même procédure. Je devrais pouvoir exécuter une "pause"?? ou quelque chose dans la genre....
Dim wrdApp As Word.Application
Set wrdApp = New Word.Application
Dim wrdDoc As Word.Document
Dim mymerge As Word.Document
Set wrdDoc = wrdApp.Documents.Open("c:\.........doc")
With wrdDoc.MailMerge
.Destination = wdSendToPrinter
.Execute True
End With
wrdDoc.Close wdDoNotSaveChanges
cs_Willi
Messages postés2375Date d'inscriptionjeudi 12 juillet 2001StatutModérateurDernière intervention15 décembre 201822 24 oct. 2005 à 15:31
oui tu peux faire une pause
-soit avec DoEvents
-soit avec l'api sleep (200) 'fait un pause de 200 millisecondes
Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)