Bonjour
Je souhaite supprimer tous les modules de mon classeur ouvert à la fin de mes lancements de macros tous dans des modules. Je le fais avec ce code:

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
Sub Module8SupprimeTousLesModules()
'Outils/Macro/Sécurité/Editeurs approuvés et cocher Faire confiance au projet Visual Basic
Dim VBComp As Object
Dim VBComps As Object
 
Set VBComps = ActiveWorkbook.VBProject.VBComponents
 
For Each VBComp In VBComps
Select Case VBComp.Type
Case 100
If UCase(VBComp.Name) <> "THISWORKBOOK" Then
With VBComp.CodeModule
.DeleteLines 1, .CountOfLines
End With
End If
Case Else
VBComps.Remove VBComp
End Select
Next VBComp
 
End Sub
Seulement je dois 'Outils/Macro/Sécurité/Editeurs approuvés et cocher Faire confiance au projet Visual Basic, et de ce fait si un autre classeur est ouvert aussi en même temps, je risque de tout supprimer, de plus je pense que ça ne marchera pas sur d'autres PC qui n'auront pas fait la manip.

Avez-vous une autre façon de quitter un classeur actif en supprimant tous les modules ?
Merci