Bonjour à toutes et tous,
C'est mon tout premier programme en VBA et tout premier post sur ce forum ! J'ai fait un peu de basic quand j'étais jeune et là, après avoir parcouru le site et le forum, je n'avance plus... Merci pour votre aide !
J'ai tapé ce bout de code (il est juste après mes questions ; merci pour les posts et tutos qui m'ont bien aidé) ; il ne bugue pas ! Néanmoins je souhaite pouvoir (d'où le titre) ajuster automatiquement la taille des tableaux excel quand je les importe sur le signet du document word existant et ouvert et garder leur mise-en-page (couleur, bordure, arrière-plan) et là ça ne marche plus du tout...
J'ai essayé :
-; ça copie en format tableau et ajuste à la largeur de la page word mais dès que le tableau est trop haut (page A4), je perds la mise en page, les couleurs d'arrière-plan des cellules et les petites cases à cocher disparaissent.
Code : Sélectionner tout - Visualiser dans une fenêtre à part .Selection.PasteAndFormat (wdPasteDefault)
- du coup j'utilise; ça convertit en image le tableau mais je perds les bordures d'encadrement qui donnent un peu de rendu visuel aux tableaux...
Code : Sélectionner tout - Visualiser dans une fenêtre à part .Selection.PasteSpecial , Link:=False, DataType:=wdPasteEnhancedMetafile, DisplayAsIcon:=False
Le pire étant les 'cases à cocher' qui, avec wdPasteDefaut de PasteAndFormat deviennent affreuses, illisibles...
Qu'est-ce que je peux faire ? Des suggestions de tutos ?
Merci encore
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
46 'VBA 7.0 'Office 2010 'Excel et Word v.14 'Extraction de tableaux Excel (feuilles et formats différents) vers rapport Word (rapport-type : signets prémarqués) existant Sub ExtTabEW() 'Lancement application Word 'Référence Microsoft Word 14.0 Object Library chargée dans menu déroulant Outils Dim aWord As Word.Application Set aWord = CreateObject("Word.Application") 'Ouverture du rapport-type, rendu visible aWord.Documents.Open ("C:\Users\Utilisateur\Documents\Rapport_Type.docx") aWord.Visible = True 'Copie Tableau 1 depuis Excel\Feuil1 Sheets("Feuil1").Select Range("B5:C33").Select Selection.Copy 'Cherche signet1 dans le rapport-type aWord.Selection.Goto What:=wdGoToBookmark, Name:="signet1" 'Colle Tableau 1 à signet1 aWord.Selection.PasteSpecial , Link:=False, DataType:=wdPasteEnhancedMetafile, DisplayAsIcon:=False 'Variantes Options de collage : '- aWord.Selection.PasteAndFormat (wdPasteDefault) : copie en format tableau / ajuste à la largeur de la page word '- aWord.Selection.Paste '- aWord.Documents.Tables(1).AutoFitBehavior wdAutoFitWindow 'Copie Tableau 2 depuis Excel\Feuil2 Sheets("Feuil2").Select Range("C2:K19").Select Selection.Copy 'Cherche signet2 dans le rapport-type aWord.Selection.Goto What:=wdGoToBookmark, Name:="signet2" 'Colle Tableau 2 à signet2 'Option wdPasteEnhancedMetafile transforme le tableau en image pour redimensionnent manuel sous Word aWord.Selection.PasteSpecial , Link:=False, DataType:=wdPasteEnhancedMetafile, DisplayAsIcon:=False End Sub
Partager