Bonjour, je me sers d'un fichier excel pour traiter l'ouverture et la fermeture des fichiers sur lesquels je travaille.
Pour ouvrir mes fichiers, j'utilise:

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
Sub LANCEURAUCHOIX() 
 
 
 
Dim wbSource, wbFichierUsager As Workbook
 
Dim strFileName As String, intChoice As Integer
 
 
 
 
 
Set wbFichierUsager = ThisWorkbook
 
'On va appeler une application de MS Office afin de chercher et d’ouvrir le bon fichier
 
'Avec la commande qui suit, on indique que nous ne voulons qu’un seul fichier
 
Application.FileDialog(msoFileDialogOpen).AllowMultiSelect = True
 
'On affiche l’écran de dialogue de MS Office
 
intChoice = Application.FileDialog(msoFileDialogOpen).Show
 
'On s’assure que l’usager a fait un choix
 
If intChoice <> 0 Then
 
'On récupère le nom complet du fichier
 
strFileName = Application.FileDialog(msoFileDialogOpen).SelectedItems(1)
 
 
 
Call EnregistrerAction("OUVERTURE " & strFileName)
 
 
Shell "explorer.exe " & strFileName
 
 
 
Set wbSource = ActiveWorkbook
 
'Sinon, on arrête tout en notifiant l’usager
 
Else
 
'S’il n’y a pas de fichier, on quitte sans rien faire
 
MsgBox "La procédure est annulée car aucun fichier n’a été entré"
 
Exit Sub
 
End If
 
 
 
End Sub
J'enregistre l'action avec:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
Call EnregistrerAction("OUVERTURE " & strFileName)

Pour fermer les fichiers, je liste les classeurs ouverts pour choisir celui que je veux fermer:

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
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
Sub Test_Class_Ouvert()
Dim Classeur As String, ENREGISTRER As String
For I = 1 To Workbooks.Count
 
Sheets("Feuil4").Cells(I, 1) = Workbooks(I).Name
 
Next I
 
 Classeur = InputBox("1 " & Sheets("Feuil4").Cells(1, 1) & vbCr & "2 " & Sheets("Feuil4").Cells(2, 1) & vbCr & "3 " & Sheets("Feuil4").Cells(3, 1) & vbCr & "4 " & Sheets("Feuil4").Cells(4, 1) & vbCr & "5 " & Sheets("Feuil4").Cells(5, 1) & vbCr & "6 " & Sheets("Feuil4").Cells(6, 1) & vbCr & "7 " & Sheets("Feuil4").Cells(7, 1) & vbCr & "8 " & Sheets("Feuil4").Cells(8, 1) & vbCr & "9 " & Sheets("Feuil4").Cells(9, 1) & vbCr & "10 " & Sheets("Feuil4").Cells(10, 1) & vbCr & "11 " & Sheets("Feuil4").Cells(11, 1) & vbCr & "12 " & Sheets("Feuil4").Cells(12, 1) & vbCr & "13 " & Sheets("Feuil4").Cells(13, 1) & vbCr & "14 " & Sheets("Feuil4").Cells(14, 1) & vbCr & "15 " & Sheets("Feuil4").Cells(14, 15), "CLASSEURS")
 
ENREGISTRER = InputBox("OUI" & vbCr & "NON", "ENREGISTRER?")
 
    If Classeur = 1 Then
    Call EnregistrerAction("FERMETURE DE CLASSEUR" & Sheets("Feuil4").Range("A1").Value)
    ENREGISTRER = InputBox("OUI?" & vbCr & "NON", "ENREGISTRER?")
    If ENREGISTRER = "OUI" Then
    Workbooks(Sheets("Feuil4").Range("A1").Value).Close SaveChanges:=True
    Else
    Workbooks(Sheets("Feuil4").Range("A1").Value).Close SaveChanges:=False
    End If
    End If
    If Classeur = 2 Then
    Call EnregistrerAction("FERMETURE DE CLASSEUR" & Sheets("Feuil4").Range("A2").Value)
If ENREGISTRER = "OUI" Then
    Workbooks(Sheets("Feuil4").Range("A2").Value).Close SaveChanges:=True
    Else
    Workbooks(Sheets("Feuil4").Range("A2").Value).Close SaveChanges:=False
    End If
    End If
    If Classeur = 3 Then
    Call EnregistrerAction("FERMETURE DE CLASSEUR" & Sheets("Feuil4").Range("A3").Value)
If ENREGISTRER = "OUI" Then
    Workbooks(Sheets("Feuil4").Range("A3").Value).Close SaveChanges:=True
    Else
    Workbooks(Sheets("Feuil4").Range("A3").Value).Close SaveChanges:=False
    End If
    End If
    If Classeur = 4 Then
    Call EnregistrerAction("FERMETURE DE CLASSEUR" & Sheets("Feuil4").Range("A4").Value)
If ENREGISTRER = "OUI" Then
    Workbooks(Sheets("Feuil4").Range("A4").Value).Close SaveChanges:=True
    Else
    Workbooks(Sheets("Feuil4").Range("A4").Value).Close SaveChanges:=False
    End If
    End If
    If Classeur = 5 Then
    Call EnregistrerAction("FERMETURE DE CLASSEUR" & Sheets("Feuil4").Range("A5").Value)
If ENREGISTRER = "OUI" Then
    Workbooks(Sheets("Feuil4").Range("A5").Value).Close SaveChanges:=True
    Else
    Workbooks(Sheets("Feuil4").Range("A5").Value).Close SaveChanges:=False
    End If
    End If
    If Classeur = 6 Then
    Call EnregistrerAction("FERMETURE DE CLASSEUR" & Sheets("Feuil4").Range("A6").Value)
If ENREGISTRER = "OUI" Then
    Workbooks(Sheets("Feuil4").Range("A6").Value).Close SaveChanges:=True
    Else
    Workbooks(Sheets("Feuil4").Range("A6").Value).Close SaveChanges:=False
    End If
    End If
    If Classeur = 7 Then
    Call EnregistrerAction("FERMETURE DE CLASSEUR" & Sheets("Feuil4").Range("A7").Value)
If ENREGISTRER = "OUI" Then
    Workbooks(Sheets("Feuil4").Range("A7").Value).Close SaveChanges:=True
    Else
    Workbooks(Sheets("Feuil4").Range("A7").Value).Close SaveChanges:=False
    End If
    End If
    If Classeur = 8 Then
    Call EnregistrerAction("FERMETURE DE CLASSEUR" & Sheets("Feuil4").Range("A8").Value)
If ENREGISTRER = "OUI" Then
    Workbooks(Sheets("Feuil4").Range("A8").Value).Close SaveChanges:=True
    Else
    Workbooks(Sheets("Feuil4").Range("A8").Value).Close SaveChanges:=False
    End If
    End If
    If Classeur = 9 Then
    Call EnregistrerAction("FERMETURE DE CLASSEUR" & Sheets("Feuil4").Range("A9").Value)
If ENREGISTRER = "OUI" Then
    Workbooks(Sheets("Feuil4").Range("A9").Value).Close SaveChanges:=True
    Else
    Workbooks(Sheets("Feuil4").Range("A9").Value).Close SaveChanges:=False
    End If
    End If
    If Classeur = 10 Then
    Call EnregistrerAction("FERMETURE DE CLASSEUR" & Sheets("Feuil4").Range("A10").Value)
If ENREGISTRER = "OUI" Then
    Workbooks(Sheets("Feuil4").Range("A10").Value).Close SaveChanges:=True
    Else
    Workbooks(Sheets("Feuil4").Range("A10").Value).Close SaveChanges:=False
    End If
    End If
 If Classeur = 11 Then
 Call EnregistrerAction("FERMETURE DE CLASSEUR" & Sheets("Feuil4").Range("A11").Value)
If ENREGISTRER = "OUI" Then
    Workbooks(Sheets("Feuil4").Range("A11").Value).Close SaveChanges:=True
    Else
    Workbooks(Sheets("Feuil4").Range("A11").Value).Close SaveChanges:=False
    End If
    End If
 If Classeur = 12 Then
 Call EnregistrerAction("FERMETURE DE CLASSEUR" & Sheets("Feuil4").Range("A12").Value)
If ENREGISTRER = "OUI" Then
    Workbooks(Sheets("Feuil4").Range("A12").Value).Close SaveChanges:=True
    Else
    Workbooks(Sheets("Feuil4").Range("A12").Value).Close SaveChanges:=False
    End If
    End If
 If Classeur = 13 Then
 Call EnregistrerAction("FERMETURE DE CLASSEUR" & Sheets("Feuil4").Range("A13").Value)
If ENREGISTRER = "OUI" Then
    Workbooks(Sheets("Feuil4").Range("A13").Value).Close SaveChanges:=True
    Else
    Workbooks(Sheets("Feuil4").Range("A13").Value).Close SaveChanges:=False
    End If
    End If
 If Classeur = 14 Then
 Call EnregistrerAction("FERMETURE DE CLASSEUR" & Sheets("Feuil4").Range("A14").Value)
If ENREGISTRER = "OUI" Then
    Workbooks(Sheets("Feuil4").Range("A14").Value).Close SaveChanges:=True
    Else
    Workbooks(Sheets("Feuil4").Range("A14").Value).Close SaveChanges:=False
    End If
    End If
 If Classeur = 15 Then
 Call EnregistrerAction("FERMETURE DE CLASSEUR" & Sheets("Feuil4").Range("A15").Value)
If ENREGISTRER = "OUI" Then
    Workbooks(Sheets("Feuil4").Range("A15").Value).Close SaveChanges:=True
    Else
    Workbooks(Sheets("Feuil4").Range("A15").Value).Close SaveChanges:=False
    End If
    End If
 
Sheets("Feuil4").Columns(1).ClearContents
 
 
 
 
End Sub
Jusque là tout est OK.

Je travaille sur plusieurs fichiers word en même temps.

Est-il possible d'opérer de la même façon avec word, peut-être même avec les pdf (sous pdf architec ou pdf creator)?

Merci beaucoup d'avance