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 :

Générer des macros?


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    106
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 106
    Par défaut Générer des macros?
    Bonjour, je vous rassure je sais comment fonctionne une macro et je sais comment les concevoir, mon problème est plus complexe

    Et-il possible de générer un macro, lorsque je suis déjà sur mon UserForm, sans même avoir une seule macro d'enregistré,
    par exemple mon Userform est constitué d'un Label nommé ColonneA, d'un ChekBox et d'un commandButton...
    Ma question est-il possible de générer une macro à partir de ce CommandButton?
    je souhaite enregistré une macro qui effacerai ma colonneA...
    Je sais pas si j'ai été assez clair

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 24
    Par défaut
    Si j'ai bien compris ce que tu as demandé est ce que ce code pourrait répondre à ton attente?

    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
    19
    20
    21
    Dim W As Workbook
    Dim vbM As VBComponent
     
    Private Sub CommandButton1_Click()
     
        'correspondant au checkBox de la colonne A
        If CheckBox1.Value = True Then
            Set W = ActiveWorkbook 'prend le classeur courant
            'Crée un nouveau module dans le classeur
            Set vbM = W.VBProject.VBComponents.Add(vbext_ct_StdModule)
     
            'Ajoute la fonction qui efface la colonne A dans le classeur actif
            vbM.CodeModule.InsertLines 1, "Sub EffacerColonneA"
            vbM.CodeModule.InsertLines 2, "Range(""A:A"").clear"
            vbM.CodeModule.InsertLines 3, "End Sub"
     
            'si tu veux l'appeler
            Application.Run W.Name & "!EffacerColonneA"
        End If
     
    End Sub
    ps: réalisé grâce à la partie "Contribuez" du forum

    (edit: il faut penser à rajouter la référence Microsoft Visual Basic For Applications Extensibility pour que ca fonctionne)

  3. #3
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    106
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 106
    Par défaut
    il y a un problème dans la ligne de code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set vbM = W.VBProject.VBComponents.Add(vbext_ct_StdModule)
    ça dit : l'accés par programme au projet Visual Basic n'est pas fiable...

    ???

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 24
    Par défaut
    Bon eh bien je viens déjà de répondre à ta question dans mon edit du premier post .

  5. #5
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Va consulter ce tuto de SilkyRoad.

    Starec

  6. #6
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    106
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 106
    Par défaut
    je suis bête j'avé oublié de déclarer les variables en haut

    mais maintenant c'es autre message d'error de compilation ça ne te le fait pas à toi?

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 24
    Par défaut
    J'ai testé ce code sur une banale feuille excel avec juste un checkbox et un bouton de commande, le fait que ce soit sur un userform je ne pense pas que ca change grand chose. Quelle est ton erreur de compilation?

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

Discussions similaires

  1. [XL-2010] Générer des macros événements par boucle
    Par toniiio29 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 11/02/2014, 11h58
  2. [Toutes versions] Générer des commentaires de macro
    Par gege765 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 01/12/2013, 11h43
  3. Générer des macros?
    Par skorpio dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 16/07/2007, 09h43
  4. [Insoluble] Générer des commentaires par Macro
    Par Ziploppe dans le forum C++
    Réponses: 2
    Dernier message: 18/05/2007, 09h12

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