Bonjour,
Voici que je souhaite obtenir :
J'ai des fiches avec des photos + descriptions de petites voitures. Ces fiches sont en format Word.
J'ai fait une boucle, qui répertorie toutes les fiches, les ouvre, copie/colle le document word et extrait le contenu pour le mettre sous format tableau : colonne/ligne..
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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100 Sub MAJ() Dim Chemin As String Dim Fichier As String Dim WordApp As Word.Application Dim WordDoc As Word.Document Dim DerniereLignefichiers As Integer Dim DerniereLignefiches As Integer Dim i As Integer Dim j As Integer Dim k As Integer 'efface données Liste DerniereLignefiches = Sheets("Liste").Range("A65536").End(xlUp).Row Range(Cells(2, 1), Cells(DerniereLignefiches, 68)).Select Selection.ClearContents Range("A2").Select 'efface données Fichiers Sheets("Fichiers").Select Cells.Select Selection.ClearContents Range("A1").Select 'Efface données Temp Sheets("Temp").Select Cells.Select Selection.Delete Shift:=xlUp Range("A1").Select 'lecture des fichiers 'Définit le répertoire contenant les fichiers Chemin = ThisWorkbook.Path & "\Fiches" Fichier = Dir(Chemin & "\*.doc") Do While Len(Fichier) > 0 i = i + 1 Sheets("Fichiers").Cells(i, 1) = Fichier Fichier = Dir() Loop ' Lecture / Ecriture des fiches DerniereLignefichiers = Sheets("Fichiers").Range("A65536").End(xlUp).Row 'Boucle sur fichiers For j = 1 To DerniereLignefichiers Fichier = ThisWorkbook.Path & "\Fiches\" & Sheets("Fichiers").Cells(j, 1) 'creation session Word Set WordApp = New Word.Application 'pour que word reste masqué pendant l'opération WordApp.Visible = False 'ouverture du fichier Word Set WordDoc = WordApp.Documents.Open(Fichier) 'copie le premier tableau Word WordDoc.Range.Copy 'Enleve message alerte Application.DisplayAlerts = False 'colle Sheets("Temp").Paste Stop 'ferme le document Word sans sauvegarde WordDoc.Close False 'ferme l'application Word WordApp.Quit 'ajout dans "fiches" DerniereLignefiches = Sheets("Liste").Range("A65536").End(xlUp).Row k = j 'DerniereLignefiches + 1 'incrémente Différentes formules pour récupérer les cases de word 'Efface données Temp Sheets("Temp").Select Cells.Select Selection.Delete Shift:=xlUp Range("A1").Select Next MsgBox ("Fini") End Sub
J'aimerai qu'en même temps, c'est à dire lorsque le document word est ouvert, que le VBA l'enregistre au format PDF. J'ai trouvé sur la FAQ le code pour Word, mais il ne fonctionne pas sous Excel. et dans la FAQ Excel, lorsque je fais, il me met, "membre de méthode ou de données introuvable".
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2ActiveSheet.ExportAsFixedFormat _ Type:=xlTypePDF, _
De même, j'aimerai qu'il enregistre la fiche au format "html", car ça me permet de retrouver les photos de la fiche....(méthode plus rapide que celle que j'avais trouvé dans mon dernier post...)
Ensuite le code, fermerait le PDF, le html.
Pensez-vous qu'il soit donc possible de "commander" Word lorsqu'on est sous Excel, et si oui, comment dois-je procéder ?
Une idée ?
En fait, je pourrais reformuler ma question :
lorsque je suis dans une macro Excel, j'ai la possibilité d'ouvrir Word, mais puis-je faire tourner une macro Word ?
Merci,
A+
Partager