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 :

Boite de dialogue non modale propre à sa feuille [XL-2010]


Sujet :

Macros et VBA Excel

  1. #1
    Membre régulier
    Homme Profil pro
    Inscrit en
    Novembre 2010
    Messages
    362
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2010
    Messages : 362
    Points : 70
    Points
    70
    Par défaut
    Bonjour à tous,

    Avant tout sachez que je suis nouveau ici et pas programmeur. Je travaille dans le credit management.

    Toutefois j'aime le monde de l'informatique et ai quelques notions de programmation en VBA et dans d'autres langages .

    Bref voilà mon souci: Boites de dialogues
    Dans l'application que je développe je propose dans un menu l'accès à différentes boites de dialogues. Celles-ci apparaissent évidemment quand on les sélectionne dans la feuille ou se trouve le bouton sur lequel on clique.

    Mon souci est que je ne sais comment faire pour que la boîte de dialogue n'apparaisse pas dans les autres feuilles du classeur. Tout en sachant que cette boîte de dialogue doit rester visible dans la feuille où se trouve le bouton qui la charge.

    Toujours à propos de ces boîtes de dialogues non modales que je ne veux voir que dans leur feuille d'appel je voulais aussi vous demander comment faire pour figer leur position.

    En effet j'ai pu paramétrer dans Proprietés l'endroit sur l'écran où je voulais les voir apparaître mais je ne peux empêcher qu'on les fasse bouger.

    Sur la copie d'écran ci-jointe j'ai parametré les valeurs de positionnement dans la partie position.

    Une solution ?

  2. #2
    Membre régulier
    Homme Profil pro
    Inscrit en
    Novembre 2010
    Messages
    362
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2010
    Messages : 362
    Points : 70
    Points
    70
    Par défaut
    Rebonjour,

    Me revoilà avec la problématique des boîtes de dialogues non modales.

    En pièce jointes vous trouverez deux copies d'écran dans lesquelles vous pourrez voir la manière avec laquelle j'ai programmé mes menus.

    Dans l'écran 1

    - On clique sur le bouton Clear Area apparaît alors un USERFORM dans lequelle s'affiche un premier menu (frame1)
    - on clique sur le bouton Balance Sheet (Bilan) et un second menu s'affiche (frame2)
    - on clique alors sur Assets (Actifs) et une série de boutons d'option surgit (frame3) via lesquels on effacera au choix l'une ou l'autre zone de mon plan comptable....

    Dans l'écran 2

    Le principe est identique si ce n'est que l'on a cliqué cette fois-ci sur le bouton P&L Accounts (Compte de résultats) ...

    ma programmation est basée sur l'option Visible des Frames et sur le positionnement de ces dernièrs ainsi que du USERFORM pour donner l'illusion de menu déroulant. Mais bien que je sois relativement satisfait du résultat je ne serai TOTALEMENT content que si je pouvais me passer du USERFORM. Sans celui-ci l'illusion serait parfaite.

    Une idée ?

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    97
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 97
    Points : 135
    Points
    135
    Par défaut
    Salut Ricardo,

    Il existe des objets Frame que tu peux insérer directement sur ta feuille.

    Tu appuies sur le bouton Autres Contrôles et tu sélectionnes l'objet Microsoft Forms 2.0 Frame.

    J'espère que çà te conviendra.

    En lisant ta précédente discussion. Je pense qu'avec le système de la Frame directement dans la feuille, tu n'aura plus le souci dans la fenêtre déplaçable.

  4. #4
    Membre régulier
    Homme Profil pro
    Inscrit en
    Novembre 2010
    Messages
    362
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2010
    Messages : 362
    Points : 70
    Points
    70
    Par défaut Réaction
    Cher Touffe,

    J'ai bien été cherché ce contrôle ActiveX comme conseillé. Mais les boutons que je mets dessus n'apparaissent pas.

    En fait j'ai fait un petit test:

    - J'ai crée un bouton via lequel j'appelle le Frame ActiveX. Concrètement je mets le paramètre Visible à True.

    - au même moment les deux boutons que j'ai crées sur le Frame devraient normalement apparaître. Et bien non ils se retrouvent toujours derrière le Frame ActiveX. C'est-à-dire écrasé. Mais dès que je reviens en mode Création les boutons apparaîssent sur le Frame.

    Je précise que c'est un Frame ActiveX par opposition au Frame de la Boîte à outil que l'on place sur un UserForm.

    Question: Comment dois-je faire pour que mes contrôles ActiveX apparaîssent sur le le Frame ActiveX ?

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    97
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 97
    Points : 135
    Points
    135
    Par défaut
    EURÊKA !!!

    çà y est, j'ai trouvé.

    L'erreur était d'utiliser les boutons disponibles dans la boîte à outils de la feuille excel. Erreur Graaave.

    Tu cliques sur ta frame, puis tu vas dans le menu Editon/Cadre. Et là, une nouvelle boite à outil apparaît et tu peux mettre des contrôles, qui, eux, seront dans ta frame. Tu remarqueras que quand tu déplaces la frame, maintenat les boutons se déplacent avec celle-ci.

  6. #6
    Membre régulier
    Homme Profil pro
    Inscrit en
    Novembre 2010
    Messages
    362
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2010
    Messages : 362
    Points : 70
    Points
    70
    Par défaut Boîtes de dialogues non modales
    Bonjour TOUFFE,

    Avant tout merci du temps que tu m'accordes.

    Bon j'ai essayé ce que tu as dit mais n'y arrive toujours pas.

    J'affiche un Frame provenant de Microsoft Forms 2.0 Frame mais ne trouve pas dans le menu EDITION l'option CADRE.

    Mais pour que les choses soient claires je suppose que le menu EDITION dont tu parles se trouve dans l'éditeur VBA ? Car je n'ai pas trouvé cela dans le Ruban d'Excel.

    Sans doute, si cela ne te dérange pas, pourrais-tu me faire une copie d'écran de ce dont tu parles.

    Bien à toi,

    Ricardo

  7. #7
    Expert éminent sénior Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Points : 31 877
    Points
    31 877
    Par défaut
    Click droit sur ta frame, menu contextuel

  8. #8
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    97
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 97
    Points : 135
    Points
    135
    Par défaut
    Re Salut Ricardo,

    Non non, tu vas dans le menu Edition d'Excel "Normal", et tout en bas il y a la ligne "Objet Cadre >" et tu vas sur édition.

    Je te met une capture d'écran, pour que tu puisses mieux voir.

    Petite precision, il faut que ta frame soit sélectionnée.
    Images attachées Images attachées  

  9. #9
    Membre régulier
    Homme Profil pro
    Inscrit en
    Novembre 2010
    Messages
    362
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2010
    Messages : 362
    Points : 70
    Points
    70
    Par défaut Menus Déroulants: Déroulant ok mais code VBA nok
    Bonsoir à tous,

    Merci pour vos réponses. Je suis presque arrivé à ce que je voulais.

    Gardez à l'esprit que c'est des tests qui ont été effectués et que donc les boutons ne veulent rien dire à ce stade...

    Dans la copie d'ecran ci-jointe on peut voir:

    que j'ai placé un bouton "Summary" via lequel j'appelle le premier sous menu avec les boutons "Summary" et "Cancel". Le bouton "Summary" de ce premier sous-menu fait apparaître un deuxième sous menu avec le bouton ""Balance Sheet"" et "P&L Accounts".

    Alors que je peux entrer le code VBA pour mon premier bouton ainsi que pour les Frames 1 et 2 je ne peux associer du code VBA pour les boutons inserés dans les Frames. Lorsque je me mets en mode Création et que je clique sur le bouton "Balance Sheet" dans mon exemple, Excel ne me propose pas d'entrer du code.

    Question: Comment dois-je faire pour coder les boutons comme je le ferais pour des contrôle ActiveX ou les les contrôles que je placerais sur un UserForm.

    PS Je devrais quand_même avoir quelque chose du genre BTN_Test_Click non ? J'ai appelé mes bouton BTN_....

  10. #10
    Membre régulier
    Homme Profil pro
    Inscrit en
    Novembre 2010
    Messages
    362
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2010
    Messages : 362
    Points : 70
    Points
    70
    Par défaut Frame avec boutons non codables
    Bonjour,

    J'ai retenté ce matin de coder les boutons ajoutés au Frame exporté de Microsoft Forms 2.0 Frame . Eh bien je n'y arrive toujours pas.

    Pour trouver une réponse rapide à mon souci je vous fourni une copie d'écran plus grande.

    Avant tout noter que je travaille avec Excel 2010

    1° Je clique sur le frame et vais dans Objet cadre et ensuite Edition.

    2° Je peux ou sélectionner le Frame ou les boutons inserés dans le Frame.

    3° Alors que dans le menu contextuel apparaissant pour le frame je trouve l'option Visualiser le Code, cette option est grisée (donc indisponible) si je clique sur les boutons du Frame.

    Sans doute quelque chose m'échappe mais je ne vois pas... Sans doute est-ce dû au fait que je ne connaissais pas ce type de Frame à importer via la bibliothèque Microsoft Forms 2.0 Frame.

    Je compte donc sur vous pour m'aider au plus vite. je voudrais terminer mon projet pour la semaine prochaine et la raison en est que je voudrais exploiter mon application au niveau professionnel.

    D'avance merci pour le temps et surtout la patiente et le travail que vous m'aurez accordé tous.


    Bonne journée à tous,

    Ricardo

  11. #11
    Expert éminent
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Points : 7 964
    Points
    7 964
    Par défaut
    Bonjour,

    En effet, je n'ai pas Excel 2010 mais le problème est le même sous 2003 et 2007.
    J'ai testé le click droit, le double click, la douceur, la brutalité et rien à faire, impossible d'accéder aux évènements des boutons insérés sur la Frame


    J'ai fait quelques recherches sur la toile et je suis tombé sur une solution qui fonctionne.
    Pour situé mon test, j'ai une Frame "Frame1" sur laquelle j'ai inséré 2 boutons que j'ai respectivement nommé "BTN1" et "BTN2"

    Code à inséré de le Module de la feuille en question
    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
    Public WithEvents BTN1 As MSForms.CommandButton
    Public WithEvents BTN2 As MSForms.CommandButton
     
    Private Sub Frame1_GotFocus()
        Set BTN1 = Frame1.Controls("BTN1")
        Set BTN2 = Frame1.Controls("BTN2")
    End Sub
     
    Private Sub BTN1_Click()
        MaMacro1
    End Sub
     
    Private Sub BTN2_Click()
        MaMacro2
    End Sub
    Code à insérer dans un Module Standard
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub MaMacro1()
        MsgBox "click sur bouton BTN1"
    End Sub
     
    Sub MaMacro2()
        MsgBox "click sur bouton BTN2"
    End Sub

  12. #12
    Membre régulier
    Homme Profil pro
    Inscrit en
    Novembre 2010
    Messages
    362
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2010
    Messages : 362
    Points : 70
    Points
    70
    Par défaut Microsoft Forms 2.0 Frame: events avec les boutons
    Fring,

    Un ENORME merci

    Ca Marcheeeeeeeeeeeeeeeeeeeeeeeeeeee

    Quelle misère que de créer ces menus déroulants. Mais enfin j'ai la solution.

    C'est grâce à vous tous.

    Mais avouons que c'est quand-même particulier. Serais-je un des rares à m'être lancé dans la conception de menus déroulants ?

    Avouez quand-même que l'insertion d'un Menu déroulant apporte un vrai côté professionnel à une application.

    Bref je code tout çà et posterai un exemple de ces menus déroulants que je développe.

    Bonne journée à tous.

    Ricardo

  13. #13
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut heuh!!!
    bonjour


    j'ai hate de voir tes creations

    pour info les menus deroulants en vba existent deja

    il sont appelés "commandbarpopup"

    fait un recherche dans la faq tu trouvera tres facilement et c'est quand meme moins lourd que des frames dans un form

    au plaisir

  14. #14
    Expert éminent
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Points : 7 964
    Points
    7 964
    Par défaut
    Citation Envoyé par patricktoulon Voir le message
    pour info les menus deroulants en vba existent deja
    il sont appelés "commandbarpopup"


    J'étais en train de bricoler un exemple (voir pièce jointe)
    Fichiers attachés Fichiers attachés

  15. #15
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    bonjour fring


    oui tu aurais pu metre aussi

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     
                .FaceId = numero indiquand l'icone que tu veux 
     
    ' dans chaque with avec un (msocontrolbutton) histoire de le rendre un peu plus fun

  16. #16
    Membre régulier
    Homme Profil pro
    Inscrit en
    Novembre 2010
    Messages
    362
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2010
    Messages : 362
    Points : 70
    Points
    70
    Par défaut Exemple Menu déroulant avec appel d'un graphique
    Bonsoir,

    Bon grâce à vous tous j'ai peu enfin arriver au résultat que je désirais.

    L'exemple fourni est basée sur l'affichage - d'un graphique via un menu déroulant - de ratios tirés de bilans et comptes de résultats.

    Toutefois retenez ceci avant d'exécuter mon fichier en pièce jointe:

    1 ° Ce fichier est un copier coller partiel de mon application (Credit Management Application est son nom).

    Bien que un certains nombres de boutons apparaissent je ne permets l'exécution que du bouton Ratio's Graph et du menu qui s'ouvre lorsque l'on clique ce dernier

    Le menu "graphique" permet de faire apparaître un graphique (que j'ai positionné sous les données), d'effacer ce graphique et de quitter le menu.

    Les boutons Graph Selection et Save n'étant pas encore codés dans mon application officielle je ne les pas activé ici. Mais ils serviront à la sélection d'autres graphiques selon l'envie et à la sauvegarde dans une feuille séparée du graphique.

    Le menu "graphique" est un peu grossier mais j'avais un peu la flemme de le retravailler au niveau format.

    Bon et pour finir je vous demande d'être indulgent à mon égard. Je suis débutant et ne prétends rien si ce n'est aimer bidouiller en informatique

    Quoiqu'il en soit j'espère que je ferai plaisir aux gens qui m'ont aider à arriver à cela car c'est grâce à eux que j'ai pu parvenir à mes fins.

    Dernière chose. Soyez critique et dites moi que améliorer pour que cela fasse pro. Cela vous parait souple, non, laid ou que sais-je balancer lol

    Merci à tous encore une fois

    PS Le fichier est mis fans

  17. #17
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut

    Mais avouons que c'est quand-même particulier. Serais-je un des rares à m'être lancé dans la conception de menus déroulants ?
    il serais plus judicieux a l'avenir de consulter la faq ou meme les source
    pour voir si le sujet n'a paété traité on le trouve meme dans les contributions dans divers exemple


  18. #18
    Membre régulier
    Homme Profil pro
    Inscrit en
    Novembre 2010
    Messages
    362
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2010
    Messages : 362
    Points : 70
    Points
    70
    Par défaut Que je suis bête lol
    Je vous lis et suis hereux de savoir qu'il existait cette possibilité de menus déroulants.

    Ben pas grave cela m'aura fait cogiter et appris des choses quand-même

    Bonne soirée à tous.

    Ricardo

  19. #19
    Membre régulier
    Homme Profil pro
    Inscrit en
    Novembre 2010
    Messages
    362
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2010
    Messages : 362
    Points : 70
    Points
    70
    Par défaut Fring et son exemple
    Hello je viens de charger ton fichier et en effet c'est top héhéhé.

    Que dire.... si j'avais su.... Mais bon rien n'est jamais appris pour rien.

    Super à vous tous les gars !!!

  20. #20
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut
    Citation Envoyé par RicardoBxl Voir le message

    Que dire.... si j'avais su.... Mais bon rien n'est jamais appris pour rien.

    Super à vous tous les gars !!!
    il y a la faq pour eviter les regrets du genre "si javais su"

    au plaisir et bonne continuation

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Réponses: 11
    Dernier message: 06/05/2008, 17h53
  2. Boite de dialogue non modale
    Par Orc_Fayeh dans le forum MFC
    Réponses: 4
    Dernier message: 19/02/2007, 22h25
  3. Afficher/Cacher Boite de dialogue non modale
    Par coco21 dans le forum MFC
    Réponses: 5
    Dernier message: 06/01/2007, 10h08
  4. Boite de dialogue non modale
    Par cjacquel dans le forum MFC
    Réponses: 1
    Dernier message: 25/12/2006, 21h46
  5. dimension boite de dialogue non modale
    Par afan dans le forum MFC
    Réponses: 25
    Dernier message: 21/10/2004, 13h35

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