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
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