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 :

VBE Créer un bouton et y insérer une macro - prob duplication [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Août 2007
    Messages
    24
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 24
    Par défaut VBE Créer un bouton et y insérer une macro - prob duplication
    Bonjour à tous,

    J'aurais besoin de vos lumières car je ne m'en sort plus. J'ai fait la même demande sur un autre site mais personne ne semble capable de trouver une solution (voir de me répondre :s)

    Voilà mon problème : Je cherche à créer par macro sur Excel un bouton dans une frame, avec sa macro rattachée . Grace à ce site, j'ai trouvé un bout de code pour y arriver (merci SilkyRoad). Pour résumer, j'ai un userform avec un bouton "ajouter" qui copie/colle une frame d'un autre userform sur un multipage. A la suite de quoi, grace au bout de code trouvé, je crée un bouton "supprime" dans la frame collée.

    Jusque là, tout va bien, puis... c'est le drame!

    En effet, quand je clique à nouveau sur le bouton "ajouter", cela me copie/colle bien une 2ième frame en dessous de la première et me crée un bouton supprime avec la macro associée, mais je perds la macro du premier bouton :'(
    Je voudrais donc qu'à chaque fois que j'ajoute une frame avec son bouton "supprime" et sa macro, que cette macro fonctionne pour chaque bouton "supprime" créé.

    ça parait compliqué à comprendre mais je vous joint mon fichier pour mieux comprendre...

    Si un génie trainait dans les parages, ce serait sympa à lui de m'aider, j'ai plus que 3 cheveux sur la tête

    Merci d'avance de votre aide
    Fichiers attachés Fichiers attachés

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Juillet 2013
    Messages
    153
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2013
    Messages : 153
    Par défaut
    Bonjour,

    Deux commentaires :

    -Premièrement, tu dois déclarer ta collection "Collect" comme publique en début de module. Sinon, les éboueurs viennent après l'exécution de ta macro type1 et emmènent ta collection "Collect" à la déchetterie.
    -Deuxièmement, tu ne dois pas instancier ta collection "Collect" à chaque fois que tu crées tes contrôles. C'est comme si tu jetais ta collection de timbre pour en commencer une nouvelle à chaque fois que tu avais un nouveau timbre.

    En début de module "BAIEREQUEST", tu peux mettre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Public Collect As Collection 'Déclare une collection publique, qui continue à vivre après l'exécution de la procédure "type1"
    Private Sub UserForm_Initialize()
        Set Collect = New Collection 'Instancie ladite collection
    End Sub
    Comme ça, tu auras une collection que tu pourras conserver après l'exécution de ta procédure "Type1".

    Pour ne pas la jeter à la poubelle systématiquement, tu devras aussi supprimer la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set Collect = New Collection
    au sein de ta procédure "type1"

    Un peu de littérature pour conclure :

    https://msdn.microsoft.com/fr-fr/VBA...e-of-variables

    https://fr.wikipedia.org/wiki/Ramass...(informatique)

    Bien cordialement,

    Poulpe

  3. #3
    Membre extrêmement actif
    Avatar de NVCfrm
    Homme Profil pro
    Administrateur Système/Réseaux - Developpeur - Consultant
    Inscrit en
    Décembre 2012
    Messages
    1 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Administrateur Système/Réseaux - Developpeur - Consultant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Décembre 2012
    Messages : 1 037
    Billets dans le blog
    5
    Par défaut
    bonjour.
    Commence par balancer le code au lieu d'un fichier, et avec toutes les explications pour nous eviter de perdre du temps.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Août 2007
    Messages
    24
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 24
    Par défaut
    Bonjour Mr Poulpe,

    Un grand merci à toi!!!!! ça fonctionne du toner!
    T'es un chef, encore merci de ton aide (j'ai encore du boulot pour bien maitriser VBA on dirait )

    PS : NVCfrm, désolé j'ai essayé d'être le plus clair possible

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 27/02/2009, 17h50
  2. Créer un tableau à 2D et insérer une chaîne de caractères
    Par javamateur dans le forum Collection et Stream
    Réponses: 1
    Dernier message: 18/03/2008, 10h16
  3. Créer un bouton et qui lance une macro
    Par malabarbe dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 10/09/2007, 14h13
  4. Réponses: 5
    Dernier message: 19/07/2006, 19h36

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