Bonjour,
Suite à l'utilisation de l'exemple de code (ftp://ftp-developpez.com/silkyroad/E...eWordExcel.pdf) pour automatiser la génération d'un bon de commande via le publipostage excel vers word.
J'ai donc crée un fichier nommé MonBonDeCommande.doc .
Un fichier excel avec une feuille nommé : "Commandes"
qui contient plusieurs colonne, don :
"Frais" qui contient les frais de port.
....
Le problème est que la requête SELECT ne passe pas a l'exécution :
"SELECT * FROM [Commandes$] WHERE [Frais] >20"
Le Message d'erreur est : docWord.MailMerge.DataSource.Query...=<L'objet demandé n'est pas disponible>
Voici l'exemple du web que j'ai associé à un bouton :
Linodev.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 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 Application.ScreenUpdating = False Set appWord = New Word.Application appWord.Visible = False 'Ouverture du document principal Word Set docWord = appWord.Documents.Open("C:\MonBonDeCommande.doc") 'Création de la requête: 'N'oubliez pas d'ajouter le symbole $ après le nom de la feuille docWord.MailMerge.DataSource.QueryString = _ "SELECT * FROM [Commandes$] WHERE [Frais] > 20" 'Fusion With docWord.MailMerge .Destination = wdSendToPrinter With .DataSource .FirstRecord = wdDefaultFirstRecord .LastRecord = wdDefaultLastRecord End With .Execute Pause:=True End With 'Fermeture du document Word docWord.Close False appWord.Quit Application.ScreenUpdating = True End Sub
Je cherche une bonne définition de l'utilisation de SELECT et de sa syntaxe dans excel.
Peut on faire :
Code sql : Sélectionner tout - Visualiser dans une fenêtre à part "SELECT * FROM [mafeuille$] WHERE [Fournisseur] = "Dunlop" AND [commande_a_passer] = "oui""
Partager