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 :

Effacer le code VBA d'une "Sheet"


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Inscrit en
    Juin 2008
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 4
    Par défaut Effacer le code VBA d'une "Sheet"
    Bonjour,

    J'ai un classeur Excel avec plusieurs feuilles. La première, qui s'appelle "Translation" a un bouton qui s'appelle "btnSaveClientFile". Je dois copier la feuille "Translation" dans un deuxième classeur, en enlevant le bouton et le code VBA qui vient avec.

    Voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Sub SaveClientFile()
     
        btnSaveClientFile.Visible =False    
        ThisWorkbook.Sheets("Translation").Copy
     
    End Sub
    Le code qui se retrouve dans la feuille "Translation"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub btnSaveClient_Click()
    Call SaveClientFile
     
    End Sub
    se retrouve aussi dans le deuxième classeur.

    Que faire pour effacer le code VBA dans le deuxième classeur?

    Merci à l'avance!

  2. #2
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    Bonjour,
    Je suis loin d'être un champion mais dans un de mes programmes j'utilise ça pour supprimer tous les boutons et le code vba disparait avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Dim Bouton As Shape
        For Each Bouton In Workbooks(nomfichier & ".xls").Worksheets("feuille active").Shapes
           Bouton.Delete
     
        Next
    J'espere que ça t'aidera et que ça marchera
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  3. #3
    Membre Expert Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    Août 2007
    Messages
    2 403
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de bonheur
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 2 403
    Par défaut


    Je ne crois pas que le code disparait en supprimant les boutons, mais ce n'est pas genant.


  4. #4
    Membre Expert Avatar de mayekeul
    Inscrit en
    Août 2005
    Messages
    1 369
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 1 369
    Par défaut
    Bonjour,

    le plus simple, ne serait-il pas de copier les cellules dans une nouvelles feuille?

    genre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Book1.feuilleoriginale.cells.copy book2.nouvellefuille.cells(1,1)

  5. #5
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    la proposition à Mayekeul est plus simple, quant à la mienne, j'ai vérifié, le code a effectivement disparu, voici la procédure complete :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub supboutons()
     ActiveWorkbook.SaveAs Filename:=rep_dossier & "\" & nomfichier & ".xls", Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _
        CreateBackup:=False
    Dim Bouton As Shape
        For Each Bouton In Workbooks(nomfichier & ".xls").Worksheets("facture").Shapes
           Bouton.Delete
     
        Next
    End Sub
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  6. #6
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    Excusez-moi, voilà seulement que je pense que je travaille sur excel 2007 où les extensions sont différentes or la feuille sans les boutons est enregistrée au format xls que ne reconnait pas of 2007 pour l'activation des macros
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  7. #7
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Hello casefayere, tu es sûr ? Comme j'étais étonné, j'ai testé. Le bouton disparaît bien mais le code reste.
    Je ne vois pas pourquoi mais l'enregistrement préalable a-t-il une importance pour que ça fonctionne ?
    @martincactus
    Dans la FAQ tu as le code pour supprimer du code par le code.
    Teste toujour ça en adaptant noms de classeur et de feuille
    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
    Sub test()
    Dim Wb as workbook, NomClasseur As String, NomFeuil As String
        NomClasseur = ThisWorkbook.Name
        NomFeuil = "feuil1"
        Set Wb = workbooks(NomClasseur)
        with Wb.VBProject.VBComponents(NomFeuil).CodeModule
            For i = .CountOfLines To 1 Step -1
                .DeleteLines i
                DoEvents
            Next
        end with
    'Ensuite ou avant...
    Dim Bouton As Shape
        For Each Bouton In Worksheets("feuil1").Shapes
           Bouton.Delete
        Next
    End Sub
    Bonne journée

Discussions similaires

  1. Affectation code VBA dans une feuille xls
    Par anisr dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 24/02/2007, 14h52
  2. Réponses: 13
    Dernier message: 20/04/2006, 16h37
  3. Réponses: 4
    Dernier message: 13/10/2005, 15h44

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