Bonjour !
Déjà merci à vous car depuis 2 semaines que je dois programmer pour mon travail je parcours votre forum et j'y ai trouvé quasiment réponse à toutes mes questions. J'ai construit entre autres une macro qui extrait des données depuis mon classeur excel et les copie dans un .docx (préalablement enregistré sous un autre nom pour ne pas perdre le document modèle. Le tableau est ensuite mis en forme.
Et là je suis perplexe : ça marche... une fois sur deux !
Sinon il m'affiche :
"Erreur d'exécution '462'
Le serveur distant n'existe pas ou n'est pas disponible"
Le débogage indique alors la ligne :
".Rows.SetHeight RowHeight:=InchesToPoints(0.3), HeightRule:=wdRowHeightExactly"
Voyez-vous où peut se situer le problème ??
D'avance merci beaucoup !
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
35
36
37
38
39
40
41
42
43
44
45 Sub export_word() ' ' export_word Macro ' ' ' Copie des données dans la feuille excel Worksheets("Disponibilité poinçons").Activate Union(Range("A1:A96"), Range("D1:A96")).Copy Dim WordApp As Word.Application Dim WordDoc As Word.Document ' Ouverture du fichier modèle et enregistrement sous un autre nom (pour ne rien écraser) Set WordApp = CreateObject("Word.Application") WordApp.Visible = True Set WordDoc = WordApp.Documents.Open _ ("C:\Users\Stagiaire.soud2\Documents\doc_type_essai.docx", ReadOnly:=False) FileSaveName = Application.GetSaveAsFilename(fileFilter:="Word Files (*.doc), *.doc") If FileSaveName <> False Then WordDoc.SaveAs FileSaveName End If ' Collage dans le doc word ' positionne le curseur au signet "ici" WordApp.Selection.Goto What:=wdGoToBookmark, Name:="ici" WordApp.Selection.Paste 'Mise en forme du tableau Set tablo = WordDoc.Tables(1) With tablo .Borders(wdBorderLeft).LineStyle = wdLineStyleSingle .Borders(wdBorderRight).LineStyle = wdLineStyleSingle .Borders(wdBorderTop).LineStyle = wdLineStyleSingle .Borders(wdBorderBottom).LineStyle = wdLineStyleSingle .Borders(wdBorderHorizontal).LineStyle = wdLineStyleDot .Borders(wdBorderVertical).LineStyle = wdLineStyleDot .Rows.SetHeight RowHeight:=InchesToPoints(0.3), HeightRule:=wdRowHeightExactly .Rows(1).SetHeight RowHeight:=InchesToPoints(0.6), HeightRule:=wdRowHeightExactly End With End Sub
Partager