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 :

"Frame" en tant que container [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté
    Homme Profil pro
    Pompier de service
    Inscrit en
    Février 2014
    Messages
    146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Pompier de service

    Informations forums :
    Inscription : Février 2014
    Messages : 146
    Par défaut "Frame" en tant que container
    Bonjour à tous,

    Je bute sur une problème de fonctionnement, en tout cas de compréhension...

    Sur un Userform, je peux insérer un ActiveX de type Frame. Dès lors, celui-ci peut agir comme un container, c'est à dire que je peux y insérer d'autres contrôles (boutons, label, TextBox, etc) de façon à ce que, par exemple, en changeant la propriété Visible du Frame, je cache ou j'affiche tous les éléments qu'il contient.

    Si je fais de même mais cette fois-ci non plus dans un Userform, mais dans une feuille Excel, le même contrôle ActiveX (MS Forms 2.0 Frame) n'agit plus comme un container. Impossible d'y "inclure" un autre contrôle, ils agissent indépendamment !
    Pire : si je "dépose" un bouton par exemple "sur" mon Frame, il reste visible tant que je suis en mode "création". Dès que je quitte ce mode, il disparait derrière le frame, même après avoir mis celui-ci en arrière-plan et le bouton en 1er plan...

    D'où mes questions :
    - Est-ce normal ou ai-je un poltergeist dans mon Excel ?
    - Y a-t-il une astuce pour conserver le bouton (ou les autres contrôles) topmost par rapport au frame dans une feuille ?
    - Sinon, existe-t-il un contrôle/objet qui puisse agir comme un container, toujours sur une feuille, à l'identique du comportement dans un UF ?

    Merci d'avance de votre aide !

  2. #2
    Expert confirmé

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 169
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    ne parlerais-tu pas plutôt d'un contrôle "formulaire" au lieu de ActiveX ?

    tu peux grouper tes contrôles, il suffit de les sélectionner puis dans l'onglet FORMAT >> GROUPER

  3. #3
    Membre Expert
    Avatar de pijaku
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    1 817
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Août 2010
    Messages : 1 817
    Billets dans le blog
    10
    Par défaut
    Bonjour,

    1- dessiner un Frame
    2- clic droit dedans/Edition

    La boite à outils contrôles s'affiche...
    Tu peux maintenant, grâce à cette boite à outils, y dessiner ce que tu veux.

  4. #4
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    Bonjour Franck

    Je viens grâce à toi (je l'ignorais totalement) de découvrir la méthode pour y parvenir s'agissant d'un Frame sur Feuille de calcul.
    Merci

  5. #5
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    La découverte de cette méthode va permettre de ranger dans la cave tout un tas de choses. Entre autres :
    -- l'utilisation de userforms comme boîtes de dialogues personnalisées
    -- les codes de positionnement d'un userform à l'emplacement de cellules
    etc ...
    Tout cela devient maintenant totalement inutile

    Je viendrai ici expliquer pourquoi dès que j'aurai terminé des travaux plus importants en cours.

  6. #6
    Membre Expert
    Avatar de pijaku
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    1 817
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Août 2010
    Messages : 1 817
    Billets dans le blog
    10
    Par défaut
    Bonjour Jacques,

    Je connais cette méthode depuis longtemps ma foi...
    Si j'avais pu en percevoir la portée telle que tu l'exposes, je l'aurais livrée bien avant...

  7. #7
    Membre expérimenté
    Homme Profil pro
    Pompier de service
    Inscrit en
    Février 2014
    Messages
    146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Pompier de service

    Informations forums :
    Inscription : Février 2014
    Messages : 146
    Par défaut
    @joe.levrai = Non non, je parlais bien du Frame des contrôles ActiveX, et non des contrôles de formulaire (que je ne porte pas dans mon coeur, d'ailleurs )

    @pikaju = Mille mercis ! je n'avais même pas remarqué que ce menu existait pour les ActiveX, je le pensais réservé justement aux contrôles de formulaire propres à Excel. Ca fonctionne du tonnerre (sauf qu'on ne peut pas couper/coller un contrôle déjà créé, mais ce n'est qu'un détail...)

    Encore pour l'astuce.

  8. #8
    Membre expérimenté
    Homme Profil pro
    Pompier de service
    Inscrit en
    Février 2014
    Messages
    146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Pompier de service

    Informations forums :
    Inscription : Février 2014
    Messages : 146
    Par défaut Oui mais non !
    Bon, Jacques risque d'être finalement déçu (comme moi )

    Certes, la méthode fonctionne... mais dès lors qu'on insère un contrôle (même ActiveX) dans une frame sur une feuille, one ne peut plus accéder directement à ses propriétés, mais surtout à ses évènements.

    Dans le code par exemple, un CommandButton inséré dans un Frame n'apparait pas dans la liste des objets, donc impossible de gérer l'évènement Click.

    Je pensais que cet évènement pouvait se faire via le Frame_Click, mais l'évènement ne se déclenche par lors du clic sur le bouton

    Donc OUI, on peut insérer de "trucs" dans un frame, mais NON, impossible ensuite de jouer avec !!!

  9. #9
    Membre Expert
    Avatar de pijaku
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    1 817
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Août 2010
    Messages : 1 817
    Billets dans le blog
    10
    Par défaut
    Citation Envoyé par Phil'oche Voir le message
    Bon, Jacques risque d'être finalement déçu (comme moi )

    Certes, la méthode fonctionne... mais dès lors qu'on insère un contrôle (même ActiveX) dans une frame sur une feuille, one ne peut plus accéder directement à ses propriétés, mais surtout à ses évènements.
    Soit patient...
    Et Jacques ne risque pas d'être déçu !

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

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