• Initiateur de la discussion Initiateur de la discussion bertgrav
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

bertgrav

XLDnaute Occasionnel
bonjour,

j'ai réalisé une macro appelée 'TRAVAIL' qui consiste aprés traitement à envoyé le fichier réalisé dans un dossier bien défini avec la date du jour, du type pour aujourd'hui:
06 03 23 montravail.xls

par contre, comme ce nouveau fichier est issu de mon 1er fichier où est ma macro, je me retrouve avec ce nouveau fichier avec la fameuse macro 'TRAVAIL'
comme j'ai fait des recherches, apparamment il n'y a pas moyen 'd'enregistrer sous' sans enlever les macros du dossier d'origine.
par contre est il possible de creer une macro qui supprime une macro ?
Ainsi dans ce nouveau dossier, s'il y avait un macro qui détruirait la macro 'TRAVAIL' à l'ouverture le tour est joué...

merci

chantal
 
Par contre, j'ai refait des recherches, et c'est vrai je n'avais pas pensé à recghercher du coté de SUPPRIMER MODULE.

Je suis tombée sur le site de Frédéric SIGONNEAU
Ce site n'existe plus

un site trés interressant
j'ai eu ce Code:
'supprimer tout le code d'un classeur
Sub SupprToutCodeVBA()
'L Longre, mpfe

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és.', _
vbInformation
End Sub

alors là il n'y a pas photo: ça supprime TOUT

chantal
 
Il faut lire la réponse de MichelXLD sur le lien que je t'ai fais passé (ou vas voir dans les wiki de michelXLD)

Ci dessous j'ai fais un copier coller de la réponse de MichelXLD

Supprimer la macro nommée 'MaMacro' dans le 'module3'
**************************************
Sub supprimerUneMacroPrecise()
Dim Debut As Integer, Lignes As Integer

With ThisWorkbook.VBProject.VBComponents('Module3').CodeModule
Debut = .ProcStartLine('MaMacro', 0)
Lignes = .ProcCountLines('MaMacro', 0)
.DeleteLines Debut, Lignes
End With
End Sub


Supprimer un module
******************
Sub supprimerUnModule()
With ThisWorkbook.VBProject.VBComponents
.Remove .Item('Module2')
End With
End Sub


Si pb joins un exemple de ton application et je placerais le code.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

F
  • Question Question
Réponses
11
Affichages
1 K
C
  • Résolu(e)
Réponses
2
Affichages
1 K
clarouche33
C
M
Réponses
3
Affichages
1 K
Y
Réponses
11
Affichages
3 K
Y
C
Réponses
14
Affichages
2 K
Cris68300
C
C
Réponses
4
Affichages
2 K
cerb_r
C
N
Réponses
1
Affichages
1 K
nanou0186
N
G
Réponses
16
Affichages
5 K
G
Retour