Publipostage et macro sous excel
Bonjour,
Ce code que j'ai récupéré et essayé d'adapter ne fonctionne pas.
J'ai une feuille sur laquelle figure des données que je filtre au moyen de filtres automatiques Feuille 8 appelée TriBDD
J'ai réalisé sous word une feuille d'étiquettes appelée ETIQUETTES
Lors du déclenchement de cette macro un message d'erreur il ne trouve pas la base TriBDD
C'est le problème
Cordialement
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
| Private Sub commandButton1_Click()
'Nécessite d'activer la référence "Microsoft Word xx.x Object Library"
Dim docWord As Word.Document
Dim appWord As Word.Application
Dim NomBase As String
NomBase = "TriBDD"
Application.ScreenUpdating = False
Set appWord = New Word.Application
appWord.Visible = True
'Ouverture du document principal Word
Set docWord = appWord.Documents.Open("C:\Mes documents (A utiliser)\Dossier Excel\ETIQUETTES.doc")
'fonctionnalité de publipostage pour le document spécifié
With docWord.mailMerge
'Ouvre la base de données
.OpenDataSource Name:=NomBase, _
Connection:="Driver={Microsoft Excel Driver (*.xls)};" & _
"DBQ=" & NomBase & "; ReadOnly=True;", _
SQLStatement:="SELECT * FROM [Feuil8$]"
'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
docWord.Close False
appWord.Quit
End Sub |
Publipostage et macro sous excel
Oui, peut-être mais cela ne m'arrange pas. En effet, je travaille sur les 65500 lignes de la feuille puis je filtre automatique, cela me fait un résultat d'environ 200 lignes.
Manuellement la fusion après filtre s'effectue sur la totalité, comment faire pour étiqueter que les lignes en visu. Ou alors comment copier ces lignes en question et les transférer sur une feuille vierge. Il faudrait que je puisse identifier la dernière ligne remplie.
Cordialement
Publipostage et macro sous excel
Oui, la copie fonctionne sur une autre feuille. Ce que je voudrais automatiser, c'est après le filtre automatique, fusionner au moyen du code ci-dessus ou alors insérer dans ce code :
chercher la dernière ligne filtrée du tableau, copier dans une autre feuille et fusionner pour les étiquettes. J'ajoute que si je copie je voudrais nommer la feuille et le tableau en question pour une impression éventuelle
Cordialement