Erreur 442 lors d'un second test

Résolu
lraffege - 30 mai 2016 à 17:45
 lraffege - 31 mai 2016 à 16:26
Bonjour,

Lorsque que j'exécute ma macro une seconde fois, une notification m'indique "erreur d'exécution 462 - le serveur distant n'existe pas ou n'est pas disponible."

je suis obligé "d’arrêter le processus" microsoft word pour re-utiliser ma macro.

pouvez-vous me dire d'ou ça vient SVP ?

Sub creation_lettre()
Dim test As String
Dim wordApp As Word.Application
Dim wordDoc As Word.Document

n = 0

'Ouvertur du UserForm (Fenêtre) ou l'on choisi la ligne pour le Pdf à créer.
CreaPDF.Show

If n <> 0 Then

'ouvre session word
Set wordApp = New Word.Application
'ouvre du document Word (Chemin à modifier en fonction du lieu du model)
Set wordDoc = wordApp.Documents.Open("C:\Users\E1561\Desktop\Modèle_Attestation_EASY_BOURSE.docm ")
'word est masqué pendant l'opération

'Remplissage des champs
wordDoc.Fields(1).Result.Text = Format(ThisWorkbook.Worksheets("JIRA").Range("F" & n), "dddd d mmmm yyyy")
wordDoc.Fields(2).Result.Text = ThisWorkbook.Worksheets("JIRA").Range("H" & n)
wordDoc.Fields(3).Result.Text = ThisWorkbook.Worksheets("JIRA").Range("I" & n)
wordDoc.Fields(4).Result.Text = ThisWorkbook.Worksheets("JIRA").Range("J" & n)
wordDoc.Fields(5).Result.Text = ThisWorkbook.Worksheets("JIRA").Range("D" & n)
wordDoc.Fields(6).Result.Text = ThisWorkbook.Worksheets("JIRA").Range("E" & n)
wordDoc.Fields(7).Result.Text = ThisWorkbook.Worksheets("JIRA").Range("N" & n)

'Petit test pour le complement d'adresse (Le remplir ou non)
If ThisWorkbook.Worksheets("JIRA").Range("O" & n) = 0 Then
wordDoc.Fields(8).Result.Text = ""
Else
wordDoc.Fields(8).Result.Text = ThisWorkbook.Worksheets("JIRA").Range("O" & n)
End If

wordDoc.Fields(9).Result.Text = ThisWorkbook.Worksheets("JIRA").Range("P" & n)
wordDoc.Fields(10).Result.Text = ThisWorkbook.Worksheets("JIRA").Range("Q" & n)
wordDoc.Fields(11).Result.Text = ThisWorkbook.Worksheets("JIRA").Range("C" & n)
wordDoc.Fields(12).Result.Text = ThisWorkbook.Worksheets("JIRA").Range("L" & n)

'Sauvegarde du Document (Chemin à modifier en fonction du lieu souhaité). Ici au même endroit que le model.
'Une fois en Word et une fois en PDF (tu peux ajouter ' devant le word si c'est inutile ou supprimer la ligne).

wordDoc.SaveAs Filename:=("V:\paris\DEPT_BACK_OFF\_Seno01\OST\08 - Assemblées Générales\AG_2016\Attestation à reclasser") & "\" & "Attestation de participation EASY BOURSE -" & ThisWorkbook.Worksheets("JIRA").Range("D" & n) & " " & ThisWorkbook.Worksheets("JIRA").Range("E" & n) & " " & ThisWorkbook.Worksheets("JIRA").Range("C" & n) & " " & ThisWorkbook.Worksheets("JIRA").Range("N" & n) & ".doc"

ActiveDocument.ExportAsFixedFormat outputFileName:=ActiveDocument.Path & "\" & "Attestation de participation EASY BOURSE -" & ThisWorkbook.Worksheets("JIRA").Range("D" & n) & " " & ThisWorkbook.Worksheets("JIRA").Range("E" & n) & " " & ThisWorkbook.Worksheets("JIRA").Range("C" & n) & " " & ThisWorkbook.Worksheets("JIRA").Range("N" & n) & ".pdf", exportFormat:=wdExportFormatPDF

wordApp.ActiveDocument.Close SaveChanges:=wdDoNotSaveChanges
'wordDoc.Close
wordApp.Quit
Set wordDoc = Nothing
Set wordApp = Nothing

Else
MsgBox ("Le numéro de ligne n'est pas valide.")
End If

End Sub


cordialement

6 réponses

ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
Modifié par ucfoutu le 30/05/2016 à 18:50
Bonjour,
Lorsque je lis ces lignes de code :
If ThisWorkbook.Worksheets("JIRA").Range("O" & n) = 0 Then
wordDoc.Fields(8).Result.Text = ""
Else
wordDoc.Fields(8).Result.Text = ThisWorkbook.Worksheets("JIRA").Range("O" & n)
End If

j'ai tendance (un peu plus que "tendance") à penser que tu pilotes World à partir de VBA/Excel et non (le sous-forum dans lequel tu as ouvert cette discussion) à partir de VB.Net !
Qu'en est-il donc ?

EDIT : et tu as (bien sûr) omis de dire sur quelle ligne de code cela "butait" (encore que ... nous pouvons deviner ... mais ne sommes pas là pour "deviner" ...)!
________________________
Nul ne saurait valablement coder ce qu'il ne saurait exposer clairement.
0
Effectivement je pilote word a partir d'excel. Cela bloque sur la ligne 45 :


ActiveDocument.ExportAsFixedFormat outputFileName:=ActiveDocument.Path & "\" & "Attestation de participation EASY BOURSE -" & ThisWorkbook.Worksheets("JIRA").Range("D" & n) & " " & ThisWorkbook.Worksheets("JIRA").Range("E" & n) & " " & ThisWorkbook.Worksheets("JIRA").Range("C" & n) & " " & ThisWorkbook.Worksheets("JIRA").Range("N" & n) & ".pdf", exportFormat:=wdExportFormatPDF
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
30 mai 2016 à 20:01
1) discussion donc déplacée vers le sous-forum( VBA) où elle aurait dû être ouverte. Prends s'il te plait dorénavant ce soin. VBA n'est pas VB.Net.
2) Je me doutais bien, qu'il s'agissait de cette ligne.
A quoi te réfères-tu, par "ActiveDocuemt" ? A préciser dans ton code par son objet d'appartenance.
0
D'acc merci. A vrai dire je ne sais pas trop, je m'y connais pas très bien. Cette ligne me permet d'exporter au format pdf le word qui a été modifier.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
Modifié par ucfoutu le 31/05/2016 à 06:37
Cette ligne me permet d'exporter au format pdf le word qui a été modifier.

et donc ===>> préciser que cet ActiveDocument appartient à l'objet Word créé !
Ne me dis pas que tu ne sais pas comment le faire, car cela voudrait dire que tu as copié/collé ce code, sans rien y comprendre ! (tu es ici sur un forum de développeurs, ce que tu es censé être).
J'observe qu'à la ligne suivante, l'objet Word créé a bien été précisé, lui (copié/collé ?).

EDIT : sans compter que tu as, par cette ligne, défini un objet :
Set wordDoc = wordApp.Documents.Open("C:\Users\E1561\Desktop\Modèle_Attestation_EASY_BOURSE.docm ")
, non ?
Et c'est CET objet, qui a été modifié, non ?
et tu as précisé ...
Cette ligne me permet d'exporter au format pdf le word qui a été modifier.

non ?
Alors ? On fait quoi ?

________________________
Nul ne saurait valablement coder ce qu'il ne saurait exposer clairement.
0
Ok merci je viens de trouver la solution.


wordApp.ActiveDocument.ExportAsFixedFormat outputFileName:=...


il fallait que je précise que s’était mon document word modifié que je devais exporter au format PDF.

je te remercie
0
Rejoignez-nous