messagepour anacoluthe si il veut bien se donner la peine de le lire :)
1 réponse
guimou
salut, je te copie ci dessous la réponse que tu m'avais faite le 18/12
dernier
Bonjour !
'NOSPAMPLEASE' nous a écrit ...
>> - je voudrais également que le fichier de données (texte séparé par
>> des ;)soit trié sur un ou deux champs avant la fusion
> Personne n'aurait un début de réponse ?
Alors juste un tout petit petit début... :-) ))))))))))
Word ne peut pas trier physiquement votre source, encore que
s'agissant
d'une source texte délimité, l'ouvrir et la trier comme un tableau
soit
possible; Word peut par contre traiter les enregistrements de façon
triée à la fusion : vous devez le spécifier dans votre requête SQL
SQLStatement de votre OpenDataSource... L'enregistreur vba ne va pas
jusqu'à enregistrer vos requêtes SQL dans l'assistant requête !
Anacoluthe
« Le temps est comme un fleuve, il ne remonte pas à sa source. »
- RIVAROL
Donc, j'ai cherché, j'ai écrit ça 'après plusieurs heures de
recherches qd même ;)
Private Sub Document_Open()
Dim doc As String
On Error Resume Next
With ActiveDocument.MailMerge
.OpenDataSource Name:="\\Lana200a\U0_eicm\Icm_lm\MKT1_sor\0aaretar.001"
.SQLStatement:="SELECT * FROM `0aaretar.001`" & "ORDER BY idpos"
.Destination = wdSendToNewDocument
.Execute
End With
End Sub
et là, j'ai un message d'erreur : erreur de compilation : erreur de
syntaxe sur la ligne SQLstatement ...
je ne connais du tout la syntaxe.. j'ai essayé de mettre une virgule à
la fin de cette ligne mais j'ai alors une erreur de compilation:
expression attendu sur ":=" qui est juste après SQLstatement...
je tourne en rond, un petit coup de main ne serait pas de trop.
Pendant que j'y suis... le document sur lequel je travaille a le même
nom que la source de donnée que j'utilise (ici OAARETAR.DOC ET
OAARETAR.001). Puis je utiliser le nom du document word pour indiquer
la source de données ? Ex : ..\nomdudocumentencours.001"
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Anacoluthe
Bonjour !
'Guimou' nous a écrit ...
Donc, j'ai cherché, j'ai écrit ça 'après plusieurs heures de recherches qd même ;) Private Sub Document_Open() Dim doc As String On Error Resume Next With ActiveDocument.MailMerge .OpenDataSource Name:="Lana200aU0_eicmIcm_lmMKT1_sor aaretar.001" .SQLStatement:="SELECT * FROM `0aaretar.001`" & "ORDER BY idpos" .Destination = wdSendToNewDocument .Execute End With End Sub et là, j'ai un message d'erreur : erreur de compilation : erreur de syntaxe sur la ligne SQLstatement ...
Oui oui je me donne parfois la peine de lire :-D )))) Encore que je vais à nouveau être absent quelques jours ... Mais évitons les discussions persos : il y a bien d'autres contributeurs/trices sur ce forum qui peuvent vous répondre !
SQLStatement n'est pas une propriété de MailMerge comme vous l'écrivez mais un /argument/ de la méthode OpenDataSource MonDoc.Mailmerge.OpenDataSource Name:=... , SQLStatement:=... Vérifiez aussi les espaces dans votre chaîne de requête.
Un conseil : n'écrivez jamais 'On Error Resume Next' tant que votre code n'est pas débogué : comment voulez-vous repérer vos erreurs si vous les sautez ? :-p
Bonne continuation
Anacoluthe « J'ai pris un cours de lecture rapide et j'ai pu lire "Guerre et Paix" en vingt minutes. Ça parle de la Russie. » - Woody ALLEN
Bonjour !
'Guimou' nous a écrit ...
Donc, j'ai cherché, j'ai écrit ça 'après plusieurs heures de
recherches qd même ;)
Private Sub Document_Open()
Dim doc As String
On Error Resume Next
With ActiveDocument.MailMerge
.OpenDataSource Name:="\Lana200aU0_eicmIcm_lmMKT1_sor aaretar.001"
.SQLStatement:="SELECT * FROM `0aaretar.001`" & "ORDER BY idpos"
.Destination = wdSendToNewDocument
.Execute
End With
End Sub
et là, j'ai un message d'erreur : erreur de compilation : erreur de
syntaxe sur la ligne SQLstatement ...
Oui oui je me donne parfois la peine de lire :-D ))))
Encore que je vais à nouveau être absent quelques jours ...
Mais évitons les discussions persos : il y a bien d'autres
contributeurs/trices sur ce forum qui peuvent vous répondre !
SQLStatement n'est pas une propriété de MailMerge comme vous l'écrivez
mais un /argument/ de la méthode OpenDataSource
MonDoc.Mailmerge.OpenDataSource Name:=... , SQLStatement:=...
Vérifiez aussi les espaces dans votre chaîne de requête.
Un conseil : n'écrivez jamais 'On Error Resume Next' tant que votre
code n'est pas débogué : comment voulez-vous repérer vos erreurs
si vous les sautez ? :-p
Bonne continuation
Anacoluthe
« J'ai pris un cours de lecture rapide et j'ai pu lire
"Guerre et Paix" en vingt minutes. Ça parle de la Russie. »
- Woody ALLEN
Donc, j'ai cherché, j'ai écrit ça 'après plusieurs heures de recherches qd même ;) Private Sub Document_Open() Dim doc As String On Error Resume Next With ActiveDocument.MailMerge .OpenDataSource Name:="Lana200aU0_eicmIcm_lmMKT1_sor aaretar.001" .SQLStatement:="SELECT * FROM `0aaretar.001`" & "ORDER BY idpos" .Destination = wdSendToNewDocument .Execute End With End Sub et là, j'ai un message d'erreur : erreur de compilation : erreur de syntaxe sur la ligne SQLstatement ...
Oui oui je me donne parfois la peine de lire :-D )))) Encore que je vais à nouveau être absent quelques jours ... Mais évitons les discussions persos : il y a bien d'autres contributeurs/trices sur ce forum qui peuvent vous répondre !
SQLStatement n'est pas une propriété de MailMerge comme vous l'écrivez mais un /argument/ de la méthode OpenDataSource MonDoc.Mailmerge.OpenDataSource Name:=... , SQLStatement:=... Vérifiez aussi les espaces dans votre chaîne de requête.
Un conseil : n'écrivez jamais 'On Error Resume Next' tant que votre code n'est pas débogué : comment voulez-vous repérer vos erreurs si vous les sautez ? :-p
Bonne continuation
Anacoluthe « J'ai pris un cours de lecture rapide et j'ai pu lire "Guerre et Paix" en vingt minutes. Ça parle de la Russie. » - Woody ALLEN