Problème d'automatisation publipostage vba

Problème d'automatisation publipostage vba - VB/VBA/VBS - Programmation

Marsh Posté le 21-06-2013 à 00:13:52    

Bonjour à tous !
 
Je suis une novice sur le forum. J'espère que vous seriez indulgent avec moi  
Et j'espère surtout que vous pourriez m'aider : j'ai cherché partout pour essayer de comprendre mon blocage mais je ne trouve pas de solution à mon problème.
 
Je souhaite automatiser mon publipostage depuis un fichier Excel.
Je commence à apprendre le vba seule mais c'est pas si simple...  
 
Avec mon code ci dessous, le fchier word s'ouvre mais le publipostage ne se fait pas, je ne comprend pas pourquoi...
Pour info, lorsque j'enregistre et je ferme mon fichier excel puis j'ouvre mon fichier word, le publipostage fonctionne.
 
Si quelqun pourrait m'aider à comprendre ma faute, ca serait sympa ! :)
 
Merci d'avance pour ceux qui prendront le temps de me lire et d'essayer de comprendre mon problème.  
 

Code :
  1. Sub commandButton1_Click()
  2. Dim NomBase As String
  3. Dim oWdApp As Object
  4. 'Lancer Word
  5. Set oWdApp = CreateObject("Word.Application" )
  6. With oWdApp
  7. 'Afficher Word si nécessaire...
  8. .Visible = True
  9. 'Ouvrir le document Word
  10. Set Wordoc = oWdApp.documents.Open("C:\Users\bws229\Desktop\dc1Test.docx" )
  11. End With
  12. 'fonctionnalité de publipostage pour le document spécifié
  13.     With docWord.mailMerge
  14.         'Ouvre la base de données
  15.         .OpenDataSource Name:=NomBase, _
  16.             Connection:="Driver={Microsoft Excel Driver (*.xlsm)};" & _
  17.             "DBQ=" & NomBase & "; ReadOnly=True;", _
  18.             SQLStatement:="SELECT * FROM [Réponses1$]"
  19.        'Prend en compte l'ensemble des enregistrements
  20.             With .DataSource
  21.                 .firstRecord = wdDefaultFirstRecord
  22.                 .lastRecord = wdDefaultLastRecord
  23.             End With
  24.         'Exécute l'opération de publipostage
  25.         .Execute Pause:=False
  26.     Application.ScreenUpdating = True
  27.     'Fermeture du document Word
  28.     docWord.Close False
  29.     appWord.Quit
  30. End Sub

Reply

Marsh Posté le 21-06-2013 à 00:13:52   

Reply

Marsh Posté le 21-06-2013 à 01:08:52    

 
           Bonjour !
 
           Ce code ne peut rien ouvrir du tout vu qu'il ne passe pas le stade de la compilation ‼
 
           Donc commencer par le corriger avant de pouvoir envisager de s'attaquer aux problèmes de conception
           comme par exemple une variable non définie ou non initialisée …
 
           De toute manière, chaque message d'erreur  - de compilation comme d'exécution -
           comporte une aide mettant sur la voie de la solution.
 

Reply

Marsh Posté le 21-06-2013 à 10:13:00    

 
           Suite ici

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed