Supprimer le code VBA par macro

  • Initiateur de la discussion schmail
  • Date de début
S

schmail

Guest
Bonsoir le forum

Mon Pb : je sauvegarde sur disquette une feuille de calcul ds un nouveau classeur. Dans ma procédure de sauvegarde, j'utilise une macro qui élimine tout le code et les modules. Pourtant qd j'ouvre le nouveau classeur sur la disquette, j'ai le message "voulez vous activer les macros...etc"; le classeur fait 28 Ko; j'active les macros, le classeur s'ouvre (aucun code visible ), je l'enregistre, il perd 2 Ko, et qd je l'ouvre de nouveau pas de message ???

La macro est la suivante :

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

J'ai essayé d'autres macros similaires, résultat idem...

Si l'un de vous a déjà rencontré ce pb et a trouvé une solution, je suis preneur D'avance merci et @+
 
@

@Christophe@

Guest
Bonsoir

Moi j'utilise le code suivant et je n'ai aucun problème, essaye qui sait:


Sub DeleteAllVBA()
Dim VBComp As Variant
Dim VBComps As Variant

Set VBComps = ActiveWorkbook.VBProject.VBComponents
For Each VBComp In VBComps
Select Case VBComp.Type
Case 1 To 3
VBComps.Remove VBComp
Case Else
With VBComp.CodeModule
.DeleteLines 1, .CountOfLines
End With
End Select
Next VBComp

End Sub


Bonne soirée

@Christophe@
 
S

schmail

Guest
Re
Toujours la même bizarrerie ???, j'ai joint le fichier (testé avec NAV2002)
Je continue à chercher...@+
 

Pièces jointes

  • essai.zip
    8.7 KB · Affichages: 145
  • essai.zip
    8.7 KB · Affichages: 145
  • essai.zip
    8.7 KB · Affichages: 145
@

@Christophe@

Guest
Bonsoir

Je viens de verif ton fichier, il est bien vide de macro, et je n'ai pas eu d'alerte pour activé les macros

A mon avis, ton fichier est bien vide, mais tu dois avoir une macro complémentaire ou une macro perso d'installé, je vois pas autre choses


@Christophe@
 
S

schmail

Guest
Bonjour le forum

Sur MPFE, un forumeur m'a conseillé ceci :

-entre le code présenté ici et la ligne de code demandant d'enregistrer le nouveau classeur
insère cette ligne de code:

Cette ligne de code crée un délai de 2 secondes avant d'enregistrer le fichier, question de laisser le temps à l'application
d'exécuter totalement la procédure "d'effacement du code et des modules". 2 secondes est une durée aléatoire... peut être
qu'une seconde serait suffisant...tu vas le voir lors de tes essais.
Application.Wait (Now + TimeValue("0:00:02"))-

L'idée était intéressante mais le pb reste entier... Bon WE à toutes et tous
 

fredoalex

XLDnaute Nouveau
Re : Supprimer le code VBA par macro

Bonjour à tous,
j'ai un fichier excel qui est bloqué par le fait que j'ai un nom d'utilisateur et un mot de passe à rentré or j'ai perdu ces identifiants. est il possible de "casser" la macro afin d'avoir accès au fichier ? Merci d'avance
ci joint mon fichier
 

Pièces jointes

  • Trame PDE 2015.xls
    902.2 KB · Affichages: 64
  • Trame PDE 2015.xls
    902.2 KB · Affichages: 79
  • Trame PDE 2015.xls
    902.2 KB · Affichages: 78

Discussions similaires

Statistiques des forums

Discussions
313 020
Messages
2 094 435
Membres
106 027
dernier inscrit
DonSparks