Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Word > VBA Word
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 22/11/2006, 10h04   #1
Invité de passage
 
Inscription : novembre 2006
Messages : 9
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 9
Points : 2
Points : 2
Par défaut [VBA Word] erreur '5535' en publipostant

bonjour à tous

En effectuant un publipostage sous forme de macro, j'obtiens cette
erreur :
"Ereur d'exécution '5535':
Impossible de fusionner ces fichiers ou d'insérer cette base de
données"

Le document Word est en mode "Normal" au lancement de la macro et voici
cette dernière :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Documents.Open FileName:=MyPath & "\template.doc", ReadOnly:=True
    Documents("template.doc").Activate
    With ActiveDocument
        .MailMerge.MainDocumentType = wdFormLetters
        .MailMerge.OpenDataSource Name:=MyPath & "\source.xls", _
            ReadOnly:=True, _
            Connection:="Feuille de calcul entière", _
            ConfirmConversions:=False, _
            LinkToSource:=True, _
            AddToRecentFiles:=False, _
            Revert:=False, _
            Format:=wdOpenFormatAuto
        .MailMerge.Destination = wdSendToNewDocument
        .MailMerge.Execute Pause:=True
        .SaveAs FileName:=MyPath & "\result.doc"
        .Close SaveChanges:=wdSaveChanges
    End With
Le débugger me place sur le ligne ".MailMerge.Execute Pause:=True"

la macro fonctionne pour les 60 permiers publipostages mais bug au numéro 62, et l'erreur ne semble pas venir du fichier source .
Où dois-je chercher pour corriger cette erreur ?
Korhyana est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/11/2006, 10h26   #2
Inactif
 
Avatar de ouskel'n'or
 
Inscription : février 2005
Messages : 12 466
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 12 466
Points : 11 930
Points : 11 930
Où se trouve ta macro ? Dans Word ?
ouskel'n'or est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/11/2006, 10h39   #3
Inactif
 
Avatar de ouskel'n'or
 
Inscription : février 2005
Messages : 12 466
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 12 466
Points : 11 930
Points : 11 930
Je reprends ton problème à zéro car j'ai un problème avec ta macro.
Ton document principal est-il déjà rempli (Noms de champs à leurs places, liaison avec la base de données Excel réalisée...) ?
Si tel est le cas, quatre lignes de code suffisent
Code :
1
2
3
4
    With ActiveDocument.MailMerge
        .Destination = wdSendToNewDocument
        .Execute
    End With
Tu dis
ouskel'n'or est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/11/2006, 11h32   #4
Invité de passage
 
Inscription : novembre 2006
Messages : 9
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 9
Points : 2
Points : 2
bonjour ouskel'n'or

c'est effectivement une macro Word
cf le titre mais j'aurais du le préciser

mes champs sont créés dans le "template.doc"

j'avais des soucis de sauvegarde mais ma macro est maintenant opérationnelle
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
    Dim MyPath As String
    MyPath = ActiveDocument.Path
 
 
    Documents.Open FileName:=MyPath & "\template.doc", ReadOnly:=True
    Documents("template.doc").Activate
    With ActiveDocument
        .MailMerge.MainDocumentType = wdFormLetters
        '
        .MailMerge.OpenDataSource Name:=MyPath & "\source.xls", _
            ReadOnly:=True, _
            Connection:="Feuille de calcul entière", _
            ConfirmConversions:=False, _
            LinkToSource:=True, _
            AddToRecentFiles:=False, _
            Revert:=False, _
            Format:=wdOpenFormatAuto
        .MailMerge.Destination = wdSendToNewDocument
        .MailMerge.Execute Pause:=True
 
    End With
    ActiveDocument.SaveAs FileName:=MyPath & "\result.doc"
    ActiveDocument.Close SaveChanges:=wdSaveChanges
    Documents("template.doc").Activate
    ActiveDocument.Close SaveChanges:=wdDoNotSaveChanges
J'ai avancé de mon côté :
dans le fichier source, tableau Excel, 2 lignes présentent des erreurs lors de l'exécution. Cependant quand elles sont prises à part, il n'y a pas de problème.

Est-ce du au volume du ficher : 126 lignes et 152 colonnes ? (500 ko)
Ou quelle peut-être le source d'erreur ?
Korhyana est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/11/2006, 11h36   #5
Invité de passage
 
Inscription : novembre 2006
Messages : 9
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 9
Points : 2
Points : 2
Citation:
Envoyé par ouskel'n'or
Je reprends ton problème à zéro car j'ai un problème avec ta macro.
Ton document principal est-il déjà rempli (Noms de champs à leurs places, liaison avec la base de données Excel réalisée...) ?
Si tel est le cas, quatre lignes de code suffisent
Code :
1
2
3
4
    With ActiveDocument.MailMerge
        .Destination = wdSendToNewDocument
        .Execute
    End With
Tu dis
c'est une macro presque toute faite que j'ai trouvé et adapté à mes besoins.
Il y a effectivement des paramètres dont je n'ai pas idée du sens mais que j'ai laisser car ils ne me gènent apparament pas pour mon application.
Korhyana est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/11/2006, 11h51   #6
Inactif
 
Avatar de ouskel'n'or
 
Inscription : février 2005
Messages : 12 466
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 12 466
Points : 11 930
Points : 11 930
Je reprends donc ma quesiton :
Citation:
Ton document principal est-il déjà rempli (Noms de champs à leurs places, liaison avec la base de données Excel réalisée...) ?
Si oui, teste mon code
A+
ouskel'n'or est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/11/2006, 12h00   #7
Invité de passage
 
Inscription : novembre 2006
Messages : 9
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 9
Points : 2
Points : 2
Citation:
Envoyé par Korhyana
mes champs sont créés dans le "template.doc"
dsl je me suis encore mal exprimé (ou de manière incomplète)
mais oui
je m'en vais donc tester ton code
merci
Korhyana est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/11/2006, 15h16   #8
Invité de passage
 
Inscription : novembre 2006
Messages : 9
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 9
Points : 2
Points : 2
Je viens de tester ton code :
erreur '5282':
L'objet demandé n'est pas disponible
Korhyana est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/11/2006, 16h30   #9
Inactif
 
Avatar de ouskel'n'or
 
Inscription : février 2005
Messages : 12 466
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 12 466
Points : 11 930
Points : 11 930
Ok. Ta macro est dans ton document principal ou non ? Parce que pour moi, elle s'y trouve. Ça vient peut-être de là
Tu dis
ouskel'n'or est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/11/2006, 17h03   #10
Invité de passage
 
Inscription : novembre 2006
Messages : 9
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 9
Points : 2
Points : 2
ma macro est considérée comme étant dans le projet et pas dans "normal"
ceci dit mon problème ne viens plus de la macro qui marche avec de petits fichiers source.
Merci quand même tu m'a permis de me poser des questions qui m'ont aidé à arriver au bout.

Problème résolu (en partie)

Le fait de retirer "pause := true" ne changeait pas mon problème
le soucis était à l'éxécution de certaines lignes de mon fichier excel
Une fois ces lignes supprimées, la macro est parfaite.
j'ai créé un autre doc Excel avec les lignes buggées et la macro tourne avec ces **** de lignes qui font planter quand elles sont avec le reste du fichier.

(en espérant avoir été clair ...)

Salut et merci de t'être penché sur mon problème.
Korhyana est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 23h25.


 
 
 
 
Partenaires

Hébergement Web