IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Suppression code VBA et fermeture classeur


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 14
    Points : 7
    Points
    7
    Par défaut Suppression code VBA et fermeture classeur
    Bonjour forum,
    je désire ouvrir un classeur, le vider de tout son code vba ( code, module, ...). Dans ce classeur (qui est protégé) il y a un feuille non-visible et quelque feuille protégées. Voici un bout de mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    Workbooks.Open CheminClasseur & NomClasseur
    Dim VBC As Object
     With Workbooks(NomClasseur).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
     
    Application.DisplayAlerts = False
    Workbooks(NomClasseur).Unprotect
    Workbooks(NomClasseur).Close True
    Application.DisplayAlerts = True
    Alors en mode pas a pas sa bug a la ligne->
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Workbooks(NomClasseur).Close True
    , et arrive alors une fenêtre "Excel a rencontré un probleme et doit fermer..."

    Si quelqu'un a déjà rencontrer ce probleme ou a une idée je suis prenneur.

    Kalu

  2. #2
    Membre chevronné Avatar de Krovax
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 888
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 888
    Points : 2 168
    Points
    2 168
    Par défaut
    Un petit coup de et voila
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Workbooks(NomClasseur).Close SaveChanges:=False
    ou si tu veux sauvegarder
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Workbooks(NomClasseur).Close SaveChanges:=true

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 14
    Points : 7
    Points
    7
    Par défaut
    Salut Krovax,
    Je connais l'aide excel et je n'aurais pas poser cette question si le problème était aussi simple. D'ailleurs ma syntaxe est bonne, le "SaveChanges:=" étant facultatif.

    Le pire c'est que même si j'arrrête le debogger a cette ligne et que j'enregistre manuellement, sa marche...

    Merci pour ton aide

    Kalu

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 14
    Points : 7
    Points
    7
    Par défaut
    Oki c'est bon j'ai trouvé, en fait le classeur que j'ouvre contient des macro qui se lance a l'ouverture, et excel n'a pas l'air d'aimer beaucoup que je lui supprime son code alors que des userforms sont affichées, par contre je ne comprend toujour pas pourquoi le code bug lorsque je ferme la classeur et pas avant, m'enfin...
    j'ai donc juste mis un application.EnableEvent=false et Application.EnableEvent = true et le tour est joué.

    Kalu

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 18
    Dernier message: 14/08/2014, 17h22
  2. Insérer un seul code vba dans plusieurs classeurs férmés
    Par jakoubi dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 26/02/2013, 23h35
  3. code VBA dans un classeur excel
    Par totogabi dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 10/11/2012, 14h27
  4. [XL-2003] Supprimer tous module et code VBA d'un classeur fermé
    Par grand_arnaud dans le forum Macros et VBA Excel
    Réponses: 15
    Dernier message: 20/09/2012, 17h26
  5. Code VBA function fermeture état
    Par ThieBEN dans le forum VBA Access
    Réponses: 8
    Dernier message: 30/11/2007, 11h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo