OVH Cloud OVH Cloud

Supprimer macros dans un fichier XLS

4 réponses
Avatar
Bernard SC
Bonjour,
Je voudrais, dans un programme VBA, supprimer les macros contenues dans un
(autre) fichier .XLS que j'envoie par e-mail. (je ne veux pas que le
destinataire aie la question "voulez-vous activer les macros" en ouvrant le
document).
Comment faire ?

Bernard

4 réponses

Avatar
papou
Bonjour
Modifier "Toto.xls" avec le nom du classeur :
Sub SupprToutCode()
Dim Composantvbe As Object
With Workbooks("Toto.xls").VBProject
For Each Composantvbe In .VBComponents
If Composantvbe.Type = 100 Then
With Composantvbe.CodeModule
.DeleteLines 1, .CountOfLines
.CodePane.Window.Close
End With
Else: .VBComponents.Remove Composantvbe
End If
Next Composantvbe
End With
End Sub

Cordialement
Pascal
"Bernard SC" a écrit dans le message de
news:%
Bonjour,
Je voudrais, dans un programme VBA, supprimer les macros contenues dans un
(autre) fichier .XLS que j'envoie par e-mail. (je ne veux pas que le
destinataire aie la question "voulez-vous activer les macros" en ouvrant
le

document).
Comment faire ?

Bernard




Avatar
Bernard SC
Merci !
J'ai cependant une erreur 1004 ".... non fiable ...", en voulant lire, par
exemple VBProject.name..
Probablement un contrôle de sécurité. Pourtant j'ai passé en Option /
Sécurité / Sécurité des macros faible.
Je réessaierai demain.

"papou" a écrit dans le message de news:
u9da$
Bonjour
Modifier "Toto.xls" avec le nom du classeur :
Sub SupprToutCode()
Dim Composantvbe As Object
With Workbooks("Toto.xls").VBProject
For Each Composantvbe In .VBComponents
If Composantvbe.Type = 100 Then
With Composantvbe.CodeModule
.DeleteLines 1, .CountOfLines
.CodePane.Window.Close
End With
Else: .VBComponents.Remove Composantvbe
End If
Next Composantvbe
End With
End Sub

Cordialement
Pascal
"Bernard SC" a écrit dans le message de
news:%
Bonjour,
Je voudrais, dans un programme VBA, supprimer les macros contenues dans
un
(autre) fichier .XLS que j'envoie par e-mail. (je ne veux pas que le
destinataire aie la question "voulez-vous activer les macros" en ouvrant
le

document).
Comment faire ?

Bernard








Avatar
Clément Marcotte
Bonjour,

Outils - Options - Sécurité - Sécurité des macros - Sources fiables -
Cocher "Faire confiance au projet Visual Basic"


"Bernard SC" a écrit dans le message de
news:
Merci !
J'ai cependant une erreur 1004 ".... non fiable ...", en voulant
lire, par

exemple VBProject.name..
Probablement un contrôle de sécurité. Pourtant j'ai passé en Option
/

Sécurité / Sécurité des macros faible.
Je réessaierai demain.

"papou" a écrit dans le message de
news:

u9da$
Bonjour
Modifier "Toto.xls" avec le nom du classeur :
Sub SupprToutCode()
Dim Composantvbe As Object
With Workbooks("Toto.xls").VBProject
For Each Composantvbe In .VBComponents
If Composantvbe.Type = 100 Then
With Composantvbe.CodeModule
.DeleteLines 1, .CountOfLines
.CodePane.Window.Close
End With
Else: .VBComponents.Remove Composantvbe
End If
Next Composantvbe
End With
End Sub

Cordialement
Pascal
"Bernard SC" a écrit dans le
message de


news:%
Bonjour,
Je voudrais, dans un programme VBA, supprimer les macros
contenues dans



un
(autre) fichier .XLS que j'envoie par e-mail. (je ne veux pas que
le



destinataire aie la question "voulez-vous activer les macros" en
ouvrant



le
document).
Comment faire ?

Bernard












Avatar
Bernard SC
Merci !
Je n'avais pas regardé jusqu'au bout...

"Clément Marcotte" a écrit dans le message
de news:
Bonjour,

Outils - Options - Sécurité - Sécurité des macros - Sources fiables -
Cocher "Faire confiance au projet Visual Basic"


"Bernard SC" a écrit dans le message de
news:
Merci !
J'ai cependant une erreur 1004 ".... non fiable ...", en voulant
lire, par

exemple VBProject.name..
Probablement un contrôle de sécurité. Pourtant j'ai passé en Option
/

Sécurité / Sécurité des macros faible.
Je réessaierai demain.

"papou" a écrit dans le message de
news:

u9da$
Bonjour
Modifier "Toto.xls" avec le nom du classeur :
Sub SupprToutCode()
Dim Composantvbe As Object
With Workbooks("Toto.xls").VBProject
For Each Composantvbe In .VBComponents
If Composantvbe.Type = 100 Then
With Composantvbe.CodeModule
.DeleteLines 1, .CountOfLines
.CodePane.Window.Close
End With
Else: .VBComponents.Remove Composantvbe
End If
Next Composantvbe
End With
End Sub

Cordialement
Pascal
"Bernard SC" a écrit dans le
message de


news:%
Bonjour,
Je voudrais, dans un programme VBA, supprimer les macros
contenues dans



un
(autre) fichier .XLS que j'envoie par e-mail. (je ne veux pas que
le



destinataire aie la question "voulez-vous activer les macros" en
ouvrant



le
document).
Comment faire ?

Bernard