Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Général VBA
Général VBA Forum général VBA . Pour les logiciels spécifiques (Access, Excel, Word, ...), postez dans les bons sous forums.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 27/04/2011, 12h44   #1
Invité de passage
 
Homme
Étudiant
Inscription : avril 2011
Messages : 2
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2011
Messages : 2
Points : 0
Points : 0
Par défaut [Word/Excel 2007] Publipostage hebdomadaire automatique

Bonjour à tous,

J'ai à souhait de réaliser une macro afin de générer un publipostage de façon hebdomadaire. Actuellement, tout fonctionne comme suit :
  • Un fichier Word mis en page (représentant le document principal de fusion) et un fichier Excel rempli (représentant la source de données)
  • Le fichier Word est défini comme il faut (source de données liée, champs de fusion)
  • Le fichier Excel comprend des colonnes "Mois" et "Jour" entre autres
  • Pour générer le publipostage, il suffit d'aller dans Modifier la liste des destinataires > Filtrer ou Trier (en fonctionne des deux colonnes précédentes) et ça affiche les documents correspondants
Mon objectif est de simplifier le dernier point de façon transparente (tout doit se faire en un bouton/une macro en somme). Voici donc le code que j'ai réalisé sur un fichier Excel à part (vide) :

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
Sub GenererPublipostage()
Dim DateMin, DateMax As Date
Dim appWord As Word.Application
Dim docWord As Word.Document
Dim appOffice As Office.OfficeDataSourceObject
Application.ScreenUpdating = False
DateMin = Date - Weekday(Date) + 2
DateMax = Date - Weekday(Date) + 6
Set appWord = New Word.Application
appWord.Visible = True
Set docWord = appWord.Documents.Open("C:\monDocumentPrincipal.doc")
With docWord.MailMerge
.MainDocumentType = wdFormLetters
.OpenDataSource Name:="C:\maSourceDeDonnees.xls", ReadOnly:=True
Set appOffice = appWord.OfficeDataSourceObject
appOffice.Open
With appOffice.Filters
' J'ajoute ici mes filtres avec .Add
.ApplyFilter
End With
' Je trie mes données filtrées avec appOffice.setSortOrder
.Destination = wdSentToPrinter
.Execute
End With
Application.ScreenUpdatin = True
docWord.Close SaveChanges:=wdDoNotSaveChanges
appWord.Quit
End Sub
Quand j'essaye de compiler, cette erreur survient :"Membre de méthode ou de données introuvable" en surlignant la ligne "Set appOffice = appWord.OfficeDataSourceObject". Pourtant, je n'ai fait que suivre l'aide qu'il y a dans VB Office.

Je ne vois donc pas où est le problème et n'ayant pas trouvé de réponse sur le Net, je m'adresse à vous pour essayer de corriger ça.

Merci d'avance pour vos réponses,

Un débutant en VBA
dam4257 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/04/2011, 15h18   #2
Membre habitué
 
Avatar de Syphochaos
 
Homme Cyril CHMIEL
Étudiant
Inscription : avril 2011
Messages : 70
Détails du profil
Informations personnelles :
Nom : Homme Cyril CHMIEL
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : Industrie

Informations forums :
Inscription : avril 2011
Messages : 70
Points : 109
Points : 109
Bonjour dam4257,

Je ne suis pas sûr que ma réponse soit la bonne, mais je tente quand même.

As-tu coché la référence "Microsoft Word xx.x Object Library" dans "Outils > Références" ?!

Si oui, alors je m'excuse d'avoir dis des âneries.
Si non, fais-le et peut-être que cela résoudra ton souci.

En espérant avoir été utile.

Un autre débutant en VBA.
Syphochaos est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/04/2011, 17h35   #3
Invité de passage
 
Homme
Étudiant
Inscription : avril 2011
Messages : 2
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2011
Messages : 2
Points : 0
Points : 0
Oui, la référence "Microsoft Word 12.0 Object Library" est bel et bien cochée. L'erreur ne vient pas de là.
dam4257 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h13.


 
 
 
 
Partenaires

Hébergement Web