Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[Excel 2013] Suppression sélective de code

10 réponses
Avatar
ThierryP
Bonsoir le forum,

Afin de figer l'=C3=A9tat de certains classeurs apr=C3=A8s validation, je s=
ouhaite supprimer le code VBA. Je sais le faire pour tout le code mais :

Est-il possible de ne s=C3=A9lectionner que certaines proc=C3=A9dures, en f=
onction de de leur nom ou du module auquel elles appartiennent ?

Merci d'avance !

ThierryP

10 réponses

Avatar
MichD
Bonjour,
Supprime tout le code dans les modules "Feuille", du thisworkbook, supprime tous les modules
"standard", de "classe" et supprime aussi tous les formulaires.
'--------------------------------------------
Sub SupprimeToutCodeEtFormulaire()
Dim VBComp As Object
Dim VBComps As Object
Set VBComps = ActiveWorkbook.VBProject.VBComponents
For Each VBComp In VBComps
Select Case VBComp.Type
Case 100
With VBComp.CodeModule
.DeleteLines 1, .CountOfLines
End With
Case Else
VBComps.Remove VBComp
End Select
Next VBComp
End Sub
'--------------------------------------------
MichD
Avatar
Jacquouille
Salut
Plutôt que de faire une grosse macro qui fait tout, peut-être en faire une
par évènement, ce qui te permettrait de n'appeler que celles que tu
désires???
mais, ce que j'en dis ....
-))
Jacques
" Le vin est au repas ce que le parfum est à la femme."
.
"ThierryP" a écrit dans le message de groupe de discussion :
Bonsoir le forum,
Afin de figer l'état de certains classeurs après validation, je souhaite
supprimer le code VBA. Je sais le faire pour tout le code mais :
Est-il possible de ne sélectionner que certaines procédures, en fonction de
de leur nom ou du module auquel elles appartiennent ?
Merci d'avance !
ThierryP
---
L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast.
https://www.avast.com/antivirus
Avatar
Jacquouille
Salut
Plutôt que de faire une grosse macro qui fait tout, peut-être en faire une
par évènement, ce qui te permettrait de n'appeler que celles que tu
désires???
mais, ce que j'en dis ....
-))
Jacques
" Le vin est au repas ce que le parfum est à la femme."
.
"ThierryP" a écrit dans le message de groupe de discussion :
Bonsoir le forum,
Afin de figer l'état de certains classeurs après validation, je souhaite
supprimer le code VBA. Je sais le faire pour tout le code mais :
Est-il possible de ne sélectionner que certaines procédures, en fonction de
de leur nom ou du module auquel elles appartiennent ?
Merci d'avance !
ThierryP
---
L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast.
https://www.avast.com/antivirus
Avatar
isabelle
bonjour Thierry,
voici un exemple
Sub EffaceCode()
Dim Mdl As String, MyMacro As String
Mdl = "Module1"
MyMacro = "test2"
With ThisWorkbook.VBProject.VBComponents(Mdl).codemodule
.DeleteLines .ProcStartLine(MyMacro, 0), .ProcCountLines(MyMacro, 0)
End With
End Sub
isabelle
Le 2017-03-01 à 12:14, ThierryP a écrit :
Bonsoir le forum,
Afin de figer l'état de certains classeurs après validation, je souhaite supprimer le code VBA. Je sais le faire pour tout le code mais :
Est-il possible de ne sélectionner que certaines procédures, en fonction de de leur nom ou du module auquel elles appartiennent ?
Merci d'avance !
ThierryP
Avatar
ThierryP
Bonsoir Denis,
dans le passé, tu avais déjà publié cette procédur e, que j'ai déjà utilisée. Mais (pour autant que je comprenn e !!), elle ressemble à un "suicide" et donc elle plante avant la fin (mais je n'ai peut-être (sûrement) pas tout compris !!).
La syntaxe d'Isabelle me semble plus ciblée.
Je teste tout cela demain.
Merci,
ThierryP
Avatar
ThierryP
Bonsoir Isabelle (décalage horaire oblige !!),
ça a l'air de coller, je teste dès demain !
PS pour toi et Denis : vous dormez de temps en temps ??? Je sais bien que l e climat n'est pas forcément clément dans la Belle Province à   cette époque... mais quand même !!
ThierryP
Avatar
isabelle
Le 2017-03-01 à 14:45, ThierryP a écrit :
Bonsoir Isabelle (décalage horaire oblige !!),

bonsoir Thierry,
ça a l'air de coller, je teste dès demain !

ok
PS pour toi et Denis : vous dormez de temps en temps ??? Je sais bien que le climat n'est pas forcément clément dans la Belle Province à cette époque... mais quand même !!

mais si, à la retraite, on a tout l'temps voulu ;-)
pour le climat c'est pas évident, il a fait +15c cette après-midi et il a plu a
torrent
et on prévoie un max de -12c pour demain après-midi avec de la neige
un tel écart en 24 hrs c'est dur pour les vieux os :(
mais faut s'y faire, car le changement climatique c'est pour maintenant.
isabelle
Avatar
ThierryP
Bonjour Jacques,
C'est déjà ce que j'ai ! Mais je souhaite supprimer certaines mac ros afin d'éviter toute modification intempestive une fois mon classeu r validé.
ThierryP
Avatar
Fredo P.
Bonjour Isabelle
C'est qu'est ce ça veut dire tes prévisions météo en 24 h d'écart +15
et -12, ben oui les os vont se réduire en poudre à s'tarif!; "le changement
c pour maintenant", on l'a entendu il y a 5 ans:o)
"isabelle" a écrit dans le message de groupe de discussion :
o97ril$fg9$
Le 2017-03-01 à 14:45, ThierryP a écrit :
Bonsoir Isabelle (décalage horaire oblige !!),

bonsoir Thierry,
ça a l'air de coller, je teste dès demain !

ok
PS pour toi et Denis : vous dormez de temps en temps ??? Je sais bien que
le climat n'est pas forcément clément dans la Belle Province à cette
époque... mais quand même !!

mais si, à la retraite, on a tout l'temps voulu ;-)
pour le climat c'est pas évident, il a fait +15c cette après-midi et il a
plu a
torrent
et on prévoie un max de -12c pour demain après-midi avec de la neige
un tel écart en 24 hrs c'est dur pour les vieux os :(
mais faut s'y faire, car le changement climatique c'est pour maintenant.
isabelle
Avatar
isabelle
bonjour Thierry,
n'oublie pas de remplacer ThisWorkbook
par le Workbook ciblé
isabelle
Le 2017-03-01 à 14:42, ThierryP a écrit :
Je teste tout cela demain.
Merci,
ThierryP

Le 2017-03-01 à 12:59, isabelle a écrit :> bonjour Thierry,
voici un exemple
Sub EffaceCode()
Dim Mdl As String, MyMacro As String
Mdl = "Module1"
MyMacro = "test2"
With ThisWorkbook.VBProject.VBComponents(Mdl).codemodule
.DeleteLines .ProcStartLine(MyMacro, 0), .ProcCountLines(MyMacro, 0)
End With
End Sub
isabelle