Bonjour à tous,

J'essaye d'automatiser un publipostage en vb.net à partir d'une source Excel avec la suite Office 2010.

J'ai pas mal regardé sur le net et j'ai trouvé des tutos (pas vraiment récent) et qui ne fonctionne pas dans mon cas.

J'utilise un fichier Excel comme source.

Précision d'abord pour la suite, pour pouvoir faire ce publipostage manuellement (directement dans word), j'ai du cocher une option (Confirmer la conversion du format de fichier lors de l'ouverture) sinon j'avais une erreur
La table externe n'est pas dans le format attendu.
Une fois cette option cochée, ça fonctionne.

Voici donc mon code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
Dim wordApp As Application = New Word.Application()
Dim wordDoc As Document = wordApp.Documents.Open(chemin & "modele_temp.docx")
 
wordDoc.MailMerge.OpenDataSource(Name:=nomFichierSource, ConfirmConversions:=False, ReadOnly:=True, LinkToSource:=False, Connection:="Feuille de calcul entière", SQLStatement:="SELECT * FROM [Feuil1$]")
 
wordDoc.MailMerge.Destination = WdMailMergeDestination.wdSendToNewDocument
wordDoc.MailMerge.Execute(False)
 
wordDoc.Close()
wordDoc = Nothing
wordApp.Quit()
A la ligne "OpenDataSource", bizarrement, j'obtiens une pop word qui s'ouvre en me disant que "La table externe n'est pas dans le format attendu" et le prog reste bloqué à cet endroit.

J'ai également essayé en utilisant la chaine de connexion suivante mais le problème reste le même :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
Connection:="Driver={Microsoft Excel Driver (*.xls)};" & _
            "DBQ=" & NomBase & "; ReadOnly=True;"
Merci d'avance car ça fait un bon moment que je cherche maintenant :-/