Bonsoir
Je souhaite envoyer une feuille pas mail, mais le pb, est qu'il y a des
macros sur cette feuille.
Comment faire afin de couper les macros avant l'envoi ?
Je vous remercie
Didier
With ActiveWorkbook.VBProject 'cette partie du code est de Laurent Longre 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
Application.Quit SendKeys "%O"
End Sub
@+ J@@
Bonsoir Je souhaite envoyer une feuille pas mail, mais le pb, est qu'il y a des macros sur cette feuille. Comment faire afin de couper les macros avant l'envoi ? Je vous remercie Didier
Bonjour (et bon Noël)
de Frédéric Sigonneau:
Attribute VB_Name = "SaveAsSansLesMacros"
'enregistrer un classeur sous un autre nom,
'en le vidant au passage de son code
'fs, mpfe
Sub SaveAsWithoutMacros()
Dim NomSource$, CheminDest$, NomDest$
Dim VBC As Object
With ActiveWorkbook.VBProject
'cette partie du code est de Laurent Longre
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
Application.Quit
SendKeys "%O"
End Sub
@+
J@@
Bonsoir
Je souhaite envoyer une feuille pas mail, mais le pb, est qu'il y a des
macros sur cette feuille.
Comment faire afin de couper les macros avant l'envoi ?
Je vous remercie
Didier
With ActiveWorkbook.VBProject 'cette partie du code est de Laurent Longre 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
Application.Quit SendKeys "%O"
End Sub
@+ J@@
Bonsoir Je souhaite envoyer une feuille pas mail, mais le pb, est qu'il y a des macros sur cette feuille. Comment faire afin de couper les macros avant l'envoi ? Je vous remercie Didier
Michel Gaboly
Bonjour,
Variante :
Voici une procédure qui supprime toutes les macros d'un classeur, à utiliser avec PRUDENCE
Sub SuppCode() Dim M As Object, Composants As Object Set Composants = ActiveWorkbook.VBProject.VBComponents For Each M In Composants ' Test type module (1 pour les modules standards, ' 2 pour les modules de classe, 3 pr les modules de UserForm , ' 100 pr les modules de feuille et le module ThisWorkbook) If M.Type <= 3 Then Composants.Remove M Else With M.CodeModule .DeleteLines 1, .CountOfLines End With End If Next M End Sub
Elle supprime les modules standards, les modules de classe et les UserFor ms et efface le contenu des modules attachés aux feuilles ainsi que celui du module ThisBorkbook.
NB - Il est probablement nécessaire que dans les références (menu " Outils" de VBA), "Microsoft Visual Basic for Applications Extensibility" soit coc hé.
ATTENTION : le traitement s'applique au classeur actif ; il est donc impé ratif de vérifier qu'il s'agit du bon.
Je te conseille également de prévoir un message de confirmation.
L'idéal serait d'avoir un UserForm qui affiche la liste des classeurs o uverts, afin de pouvoir choisir celui ou ceux dont les macros sont à effacer
Bonsoir Je souhaite envoyer une feuille pas mail, mais le pb, est qu'il y a des macros sur cette feuille. Comment faire afin de couper les macros avant l'envoi ? Je vous remercie Didier
-- Cordialement,
Michel Gaboly www.gaboly.com
Bonjour,
Variante :
Voici une procédure qui supprime toutes les macros d'un classeur,
à utiliser avec PRUDENCE
Sub SuppCode()
Dim M As Object, Composants As Object
Set Composants = ActiveWorkbook.VBProject.VBComponents
For Each M In Composants
' Test type module (1 pour les modules standards,
' 2 pour les modules de classe, 3 pr les modules de UserForm ,
' 100 pr les modules de feuille et le module ThisWorkbook)
If M.Type <= 3 Then
Composants.Remove M
Else
With M.CodeModule
.DeleteLines 1, .CountOfLines
End With
End If
Next M
End Sub
Elle supprime les modules standards, les modules de classe et les UserFor ms
et efface le contenu des modules attachés aux feuilles ainsi que celui du module
ThisBorkbook.
NB - Il est probablement nécessaire que dans les références (menu " Outils"
de VBA), "Microsoft Visual Basic for Applications Extensibility" soit coc hé.
ATTENTION : le traitement s'applique au classeur actif ; il est donc impé ratif
de vérifier qu'il s'agit du bon.
Je te conseille également de prévoir un message de confirmation.
L'idéal serait d'avoir un UserForm qui affiche la liste des classeurs o uverts, afin
de pouvoir choisir celui ou ceux dont les macros sont à effacer
Bonsoir
Je souhaite envoyer une feuille pas mail, mais le pb, est qu'il y a des
macros sur cette feuille.
Comment faire afin de couper les macros avant l'envoi ?
Je vous remercie
Didier
Voici une procédure qui supprime toutes les macros d'un classeur, à utiliser avec PRUDENCE
Sub SuppCode() Dim M As Object, Composants As Object Set Composants = ActiveWorkbook.VBProject.VBComponents For Each M In Composants ' Test type module (1 pour les modules standards, ' 2 pour les modules de classe, 3 pr les modules de UserForm , ' 100 pr les modules de feuille et le module ThisWorkbook) If M.Type <= 3 Then Composants.Remove M Else With M.CodeModule .DeleteLines 1, .CountOfLines End With End If Next M End Sub
Elle supprime les modules standards, les modules de classe et les UserFor ms et efface le contenu des modules attachés aux feuilles ainsi que celui du module ThisBorkbook.
NB - Il est probablement nécessaire que dans les références (menu " Outils" de VBA), "Microsoft Visual Basic for Applications Extensibility" soit coc hé.
ATTENTION : le traitement s'applique au classeur actif ; il est donc impé ratif de vérifier qu'il s'agit du bon.
Je te conseille également de prévoir un message de confirmation.
L'idéal serait d'avoir un UserForm qui affiche la liste des classeurs o uverts, afin de pouvoir choisir celui ou ceux dont les macros sont à effacer
Bonsoir Je souhaite envoyer une feuille pas mail, mais le pb, est qu'il y a des macros sur cette feuille. Comment faire afin de couper les macros avant l'envoi ? Je vous remercie Didier
-- Cordialement,
Michel Gaboly www.gaboly.com
Didier Novarin
Bonjour Un très grand merci à tous les 2 Joyeux Noël Didier
"Michel Gaboly" a écrit dans le message de news: % Bonjour,
Variante :
Voici une procédure qui supprime toutes les macros d'un classeur, à utiliser avec PRUDENCE
Sub SuppCode() Dim M As Object, Composants As Object Set Composants = ActiveWorkbook.VBProject.VBComponents For Each M In Composants ' Test type module (1 pour les modules standards, ' 2 pour les modules de classe, 3 pr les modules de UserForm, ' 100 pr les modules de feuille et le module ThisWorkbook) If M.Type <= 3 Then Composants.Remove M Else With M.CodeModule .DeleteLines 1, .CountOfLines End With End If Next M End Sub
Elle supprime les modules standards, les modules de classe et les UserForms et efface le contenu des modules attachés aux feuilles ainsi que celui du module ThisBorkbook.
NB - Il est probablement nécessaire que dans les références (menu "Outils" de VBA), "Microsoft Visual Basic for Applications Extensibility" soit coché.
ATTENTION : le traitement s'applique au classeur actif ; il est donc impératif de vérifier qu'il s'agit du bon.
Je te conseille également de prévoir un message de confirmation.
L'idéal serait d'avoir un UserForm qui affiche la liste des classeurs ouverts, afin de pouvoir choisir celui ou ceux dont les macros sont à effacer
Bonsoir Je souhaite envoyer une feuille pas mail, mais le pb, est qu'il y a des macros sur cette feuille. Comment faire afin de couper les macros avant l'envoi ? Je vous remercie Didier
-- Cordialement,
Michel Gaboly www.gaboly.com
Bonjour
Un très grand merci à tous les 2
Joyeux Noël
Didier
"Michel Gaboly" <michel.gaboly@wanadoo.fr> a écrit dans le message de news:
%23c0mj3TCGHA.2336@TK2MSFTNGP10.phx.gbl...
Bonjour,
Variante :
Voici une procédure qui supprime toutes les macros d'un classeur,
à utiliser avec PRUDENCE
Sub SuppCode()
Dim M As Object, Composants As Object
Set Composants = ActiveWorkbook.VBProject.VBComponents
For Each M In Composants
' Test type module (1 pour les modules standards,
' 2 pour les modules de classe, 3 pr les modules de UserForm,
' 100 pr les modules de feuille et le module ThisWorkbook)
If M.Type <= 3 Then
Composants.Remove M
Else
With M.CodeModule
.DeleteLines 1, .CountOfLines
End With
End If
Next M
End Sub
Elle supprime les modules standards, les modules de classe et les UserForms
et efface le contenu des modules attachés aux feuilles ainsi que celui du
module
ThisBorkbook.
NB - Il est probablement nécessaire que dans les références (menu "Outils"
de VBA), "Microsoft Visual Basic for Applications Extensibility" soit coché.
ATTENTION : le traitement s'applique au classeur actif ; il est donc
impératif
de vérifier qu'il s'agit du bon.
Je te conseille également de prévoir un message de confirmation.
L'idéal serait d'avoir un UserForm qui affiche la liste des classeurs
ouverts, afin
de pouvoir choisir celui ou ceux dont les macros sont à effacer
Bonsoir
Je souhaite envoyer une feuille pas mail, mais le pb, est qu'il y a des
macros sur cette feuille.
Comment faire afin de couper les macros avant l'envoi ?
Je vous remercie
Didier
Bonjour Un très grand merci à tous les 2 Joyeux Noël Didier
"Michel Gaboly" a écrit dans le message de news: % Bonjour,
Variante :
Voici une procédure qui supprime toutes les macros d'un classeur, à utiliser avec PRUDENCE
Sub SuppCode() Dim M As Object, Composants As Object Set Composants = ActiveWorkbook.VBProject.VBComponents For Each M In Composants ' Test type module (1 pour les modules standards, ' 2 pour les modules de classe, 3 pr les modules de UserForm, ' 100 pr les modules de feuille et le module ThisWorkbook) If M.Type <= 3 Then Composants.Remove M Else With M.CodeModule .DeleteLines 1, .CountOfLines End With End If Next M End Sub
Elle supprime les modules standards, les modules de classe et les UserForms et efface le contenu des modules attachés aux feuilles ainsi que celui du module ThisBorkbook.
NB - Il est probablement nécessaire que dans les références (menu "Outils" de VBA), "Microsoft Visual Basic for Applications Extensibility" soit coché.
ATTENTION : le traitement s'applique au classeur actif ; il est donc impératif de vérifier qu'il s'agit du bon.
Je te conseille également de prévoir un message de confirmation.
L'idéal serait d'avoir un UserForm qui affiche la liste des classeurs ouverts, afin de pouvoir choisir celui ou ceux dont les macros sont à effacer
Bonsoir Je souhaite envoyer une feuille pas mail, mais le pb, est qu'il y a des macros sur cette feuille. Comment faire afin de couper les macros avant l'envoi ? Je vous remercie Didier
-- Cordialement,
Michel Gaboly www.gaboly.com
Michel Gaboly
De rien, :-))
C'était avec plaisir, encore + un 25 décembre ;-))
Bonjour Un très grand merci à tous les 2 Joyeux Noël Didier
"Michel Gaboly" a écrit dans le message de news: % Bonjour,
Variante :
Voici une procédure qui supprime toutes les macros d'un classeur, à utiliser avec PRUDENCE
Sub SuppCode() Dim M As Object, Composants As Object Set Composants = ActiveWorkbook.VBProject.VBComponents For Each M In Composants ' Test type module (1 pour les modules standards, ' 2 pour les modules de classe, 3 pr les modules de UserFo rm, ' 100 pr les modules de feuille et le module ThisWorkbook) If M.Type <= 3 Then Composants.Remove M Else With M.CodeModule .DeleteLines 1, .CountOfLines End With End If Next M End Sub
Elle supprime les modules standards, les modules de classe et les UserF orms et efface le contenu des modules attachés aux feuilles ainsi que celu i du module ThisBorkbook.
NB - Il est probablement nécessaire que dans les références (menu "Outils" de VBA), "Microsoft Visual Basic for Applications Extensibility" soit c oché.
ATTENTION : le traitement s'applique au classeur actif ; il est donc impératif de vérifier qu'il s'agit du bon.
Je te conseille également de prévoir un message de confirmation.
L'idéal serait d'avoir un UserForm qui affiche la liste des classeurs ouverts, afin de pouvoir choisir celui ou ceux dont les macros sont à effacer
Bonsoir Je souhaite envoyer une feuille pas mail, mais le pb, est qu'il y a des macros sur cette feuille. Comment faire afin de couper les macros avant l'envoi ? Je vous remercie Didier
-- Cordialement,
Michel Gaboly www.gaboly.com
De rien, :-))
C'était avec plaisir, encore + un 25 décembre ;-))
Bonjour
Un très grand merci à tous les 2
Joyeux Noël
Didier
"Michel Gaboly" <michel.gaboly@wanadoo.fr> a écrit dans le message de news:
%23c0mj3TCGHA.2336@TK2MSFTNGP10.phx.gbl...
Bonjour,
Variante :
Voici une procédure qui supprime toutes les macros d'un classeur,
à utiliser avec PRUDENCE
Sub SuppCode()
Dim M As Object, Composants As Object
Set Composants = ActiveWorkbook.VBProject.VBComponents
For Each M In Composants
' Test type module (1 pour les modules standards,
' 2 pour les modules de classe, 3 pr les modules de UserFo rm,
' 100 pr les modules de feuille et le module ThisWorkbook)
If M.Type <= 3 Then
Composants.Remove M
Else
With M.CodeModule
.DeleteLines 1, .CountOfLines
End With
End If
Next M
End Sub
Elle supprime les modules standards, les modules de classe et les UserF orms
et efface le contenu des modules attachés aux feuilles ainsi que celu i du
module
ThisBorkbook.
NB - Il est probablement nécessaire que dans les références (menu "Outils"
de VBA), "Microsoft Visual Basic for Applications Extensibility" soit c oché.
ATTENTION : le traitement s'applique au classeur actif ; il est donc
impératif
de vérifier qu'il s'agit du bon.
Je te conseille également de prévoir un message de confirmation.
L'idéal serait d'avoir un UserForm qui affiche la liste des classeurs
ouverts, afin
de pouvoir choisir celui ou ceux dont les macros sont à effacer
Bonsoir
Je souhaite envoyer une feuille pas mail, mais le pb, est qu'il y a des
macros sur cette feuille.
Comment faire afin de couper les macros avant l'envoi ?
Je vous remercie
Didier
C'était avec plaisir, encore + un 25 décembre ;-))
Bonjour Un très grand merci à tous les 2 Joyeux Noël Didier
"Michel Gaboly" a écrit dans le message de news: % Bonjour,
Variante :
Voici une procédure qui supprime toutes les macros d'un classeur, à utiliser avec PRUDENCE
Sub SuppCode() Dim M As Object, Composants As Object Set Composants = ActiveWorkbook.VBProject.VBComponents For Each M In Composants ' Test type module (1 pour les modules standards, ' 2 pour les modules de classe, 3 pr les modules de UserFo rm, ' 100 pr les modules de feuille et le module ThisWorkbook) If M.Type <= 3 Then Composants.Remove M Else With M.CodeModule .DeleteLines 1, .CountOfLines End With End If Next M End Sub
Elle supprime les modules standards, les modules de classe et les UserF orms et efface le contenu des modules attachés aux feuilles ainsi que celu i du module ThisBorkbook.
NB - Il est probablement nécessaire que dans les références (menu "Outils" de VBA), "Microsoft Visual Basic for Applications Extensibility" soit c oché.
ATTENTION : le traitement s'applique au classeur actif ; il est donc impératif de vérifier qu'il s'agit du bon.
Je te conseille également de prévoir un message de confirmation.
L'idéal serait d'avoir un UserForm qui affiche la liste des classeurs ouverts, afin de pouvoir choisir celui ou ceux dont les macros sont à effacer
Bonsoir Je souhaite envoyer une feuille pas mail, mais le pb, est qu'il y a des macros sur cette feuille. Comment faire afin de couper les macros avant l'envoi ? Je vous remercie Didier