Bonjour à tous,
Je me permets d'écrire ce petit sujet aujourd'hui car je rencontre des problèmes dans la programmation de mon code vba déclenché depuis un bouton dans un excel. J'ai cherché un peu partout sur la toile des solutions à mon problème mais impossible d'en appliquer une correctement, de sorte que cela fonctionne.
Pour la petite histoire, je souhaite tout simplement lancé un publipostage automatique depuis Excel vers Word. Malheureusement je rencontre un premier problème: le publipostage fonctionne mais à chaque ouverture de Word, celui-ci me demande de sélectionner la table Excel. Ma première question est donc: est-il possible d'automatiser ce processus également? (de sorte que cela ne me demander en aucun cas de sélectionner la table "Facturation"). Ma deuxième question est: est-il possible de définir dans le code que je souhaite par exemple que uniquement la ligne 2 soit pris en compte pour le publipostage? En espérant être relativement clair dans mes propos, je vous transmets ci-dessous mon code:
Je vous remercie déjà pour vos réponse et vous souhaite par la même occasion une excellente journée.
Inko.
Je me permets d'écrire ce petit sujet aujourd'hui car je rencontre des problèmes dans la programmation de mon code vba déclenché depuis un bouton dans un excel. J'ai cherché un peu partout sur la toile des solutions à mon problème mais impossible d'en appliquer une correctement, de sorte que cela fonctionne.
Pour la petite histoire, je souhaite tout simplement lancé un publipostage automatique depuis Excel vers Word. Malheureusement je rencontre un premier problème: le publipostage fonctionne mais à chaque ouverture de Word, celui-ci me demande de sélectionner la table Excel. Ma première question est donc: est-il possible d'automatiser ce processus également? (de sorte que cela ne me demander en aucun cas de sélectionner la table "Facturation"). Ma deuxième question est: est-il possible de définir dans le code que je souhaite par exemple que uniquement la ligne 2 soit pris en compte pour le publipostage? En espérant être relativement clair dans mes propos, je vous transmets ci-dessous mon code:
Code:
Sub Facturation_Bouton2_QuandClic()
'Nécessite d'activer la référence "Microsoft Word xx.x Object Library"
Dim NomBase As String
NomBase = "Macintosh HD:Users:jordan:Desktop:Docs:Maman de jour Lydia:Lydia - Compta maman de jour.xls"
feuilbase = "'`Facturation$`'"
Application.ScreenUpdating = False
MyAppID = Shell("Macintosh HD:Applications:Microsoft Office 2011:Microsoft Word.app:Contents:MacOS:Microsoft Word", vbHide)
AppActivate MyAppID
'Ouverture du document principal Word
Documents.Open Filename:="Macintosh HD:Users:jordan:Desktop:Docs:Maman de jour Lydia:Lydia - Facturation.docx", ConfirmConversions:=True
'fonctionnalité de publipostage pour le document spécifié
With ActiveDocument.MailMerge
'Ouvre la base de données
.OpenDataSource Name:=NomBase, SQLStatement:="SELECT * FROM " & feuilbase
'Spécifie la fusion vers l'imprimante
.Destination = wdSendToPrinter
.suppressBlankLines = True
'Prend en compte l'ensemble des enregistrements
With .DataSource
.firstRecord = wdDefaultFirstRecord
.lastRecord = wdDefaultLastRecord
End With
'Exécute l'opération de publipostage
.Execute Pause:=False
End With
Application.ScreenUpdating = True
'Fermeture du document Word
ActiveDocument.Close False
Application.Quit
End Sub
Je vous remercie déjà pour vos réponse et vous souhaite par la même occasion une excellente journée.
Inko.