Effacer les macros du classeur actif

D

Denis

Guest
Bonjour à toutes et à tous,

Mes voeux sincères (si, si), de travail et de joies excelliennes pour toutes cette année.

Mon problème du jour :

J'ai une macro :

Sub Util_Supprimer_Macros_Classeur_ACTIF()
' Supprime toutes les macro du classeur actif
'MonNomDeFichieraSupprimerMacro = ActiveWorkbook.Name

Dim VBC As Object
With ActiveWorkbook.VBProject
For Each VBC In .VBComponents
If VBC.Type = 100 Then
With VBC.CodeModule
.DeleteLines 1, .CountOfLines
.CodePane.Window.Close
End With
Else: .VBComponents.Remove VBC
End If
Next VBC
End With
MsgBox "Modules et macros du classeur actif supprimées.", vbInformation
'Windows(MonNomDeFichieraSupprimerMacro).Activate

End Sub

(récupérée sur un certain forum...) qui fonctionne très très bien.
Je la lance d'un document et elle efface les macros d'un autre doc (celui qui est alors actif).

MAIS : qui, une fois terminée "reste" sur la fenètre Microsoft Visual Basic.

Bien évidemment, je préférerai qu'une fois son travail effectué, elle revienne sur le dernier doc actif. J'ai essayé des "windows", des "Actifworkbook"s"... Et Rien !!!

Merci d'avance.

DENIS

Ps question subsidiaire : peut-on effacer "sélectivement" une macro, un module, ou une série de modules auquels on aurait pris soin de donner une partie de "name" commun par exemple
 

Discussions similaires

Statistiques des forums

Discussions
312 177
Messages
2 085 971
Membres
103 073
dernier inscrit
MSCHOE16