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

VBA Discussion :

UserForm automatisé et contrôle utilisateur


Sujet :

VBA

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Bureau d'étude
    Inscrit en
    Décembre 2021
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Bureau d'étude
    Secteur : Bâtiment

    Informations forums :
    Inscription : Décembre 2021
    Messages : 5
    Points : 5
    Points
    5
    Par défaut UserForm automatisé et contrôle utilisateur
    Bonjour,

    J'ai réalisé un UserForm automatisé qui crée une série de Frame et de CheckBox en fonction d'une liste.
    J'ai utilisées des boucles et la fonction controls.add pour la création et le positionnement des objets.

    Le résultat en pièce jointe.

    Maintenant je voudrais que l'utilisateur puisse cocher ou décocher toutes les CheckBox dans une frame via un double clique, mais je n'ais pas à mas disposition les fonction classique Frame"X"_DblClick() puisque ce n'est pas moi qui à créé les frame.
    J'ai uniquement à disposition la fonction UserForm_DblClick(...) qui ce d'éclanche uniquement quand l'utilisateur double clique à l'extérieur des frames.

    Est-il possible de créer une fonction qui se d'éclanche l'ors d'un double clique n'importe ou sur le UserForm et qui me renvoie la frame associer ou actif?

    Merci et bonne journée.
    Images attachées Images attachées  

  2. #2
    Membre régulier
    Homme Profil pro
    retraité
    Inscrit en
    Mars 2019
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

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

    Informations forums :
    Inscription : Mars 2019
    Messages : 53
    Points : 76
    Points
    76
    Par défaut
    Bonjour à tous et toutes
    Bonjour Barbouze76

    Si j'ai bien compris, l'UserForm_Initialize crée les frames et CheckBox et donc les codes pour les CheckBox en même temps.
    Je suis étonné qu'il ne se trouve pas de FrameX_DblClick.
    Perso, j'insérerai un CommandButtonX_Click dans chaque frame qui exécuterait le tout coché ou rien, ce qui serait plus compréhensible pour les utilisateurs.
    A+
    Eric

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Bureau d'étude
    Inscrit en
    Décembre 2021
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Bureau d'étude
    Secteur : Bâtiment

    Informations forums :
    Inscription : Décembre 2021
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    Bonjour,
    Merci de t'as réponse ERIC et pour l'astuce des boutons dans chaque Frame.
    Mais cela ne résout pas le problème, je n'ai pas d'événement CommandBouton_clik dans mon UserForm.

    les contrôles sont créés à l'initialisation de l'UserForm, je ne peut donc pas ajouter une fonction événement avant un que le control soit créer.
    si c'est possible, comment le coder?

    PS, voici un prototype de mon UserForm:
    ListeACocher.xlsm

    Bonne journée,

  4. #4
    Membre chevronné Avatar de Thumb down
    Homme Profil pro
    Retraité
    Inscrit en
    Juin 2019
    Messages
    1 420
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Juin 2019
    Messages : 1 420
    Points : 2 179
    Points
    2 179
    Par défaut
    Bonjour,
    j'ai modifié le code de Barbouze76 pour autoriser le double click sur les Frames le double Click sur le UserFom reste valide!


    à noter qu'on ne teste pas un boulant pour lui affecter l'inverse de sa valeur!
    Fichiers attachés Fichiers attachés

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Bureau d'étude
    Inscrit en
    Décembre 2021
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Bureau d'étude
    Secteur : Bâtiment

    Informations forums :
    Inscription : Décembre 2021
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    Rebonjour,

    Merci pour t'as réponse .

    Thumb down peux-tu m'expliquer comment cela fonctionne ?

    Comment as-tu réussi à créer un événement liés aux frames?

    Bonne journée,

  6. #6
    Membre chevronné Avatar de Thumb down
    Homme Profil pro
    Retraité
    Inscrit en
    Juin 2019
    Messages
    1 420
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Juin 2019
    Messages : 1 420
    Points : 2 179
    Points
    2 179
    Par défaut
    j'ai créé un module de classe

    'Ici on va lié notre control de typ MSForms.Frame mais qui à la particularité d'intercepter les événements WithEvents !
    Code Classe Fram : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Public WithEvents Fram As MSForms.Frame 'Ici on va lié notre control de typ MSForms.Frame mais qui à la particularité d'intercepter les événements  WithEvents !
    Private Drap As Boolean
     
     
    Private Sub Fram_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
    Dim i As Integer
     Drap = Not Drap
    For i = 0 To Fram.Controls.Count - 1
    Debug.Print Fram.Controls(i).Name
       If TypeName(Fram.Controls(i)) = "CheckBox" Then Fram.Controls(i).Value = Drap
    Next
    End Sub
    j'ai créé une collection dans ton UserForm
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim Drap As Boolean, MesFrames As New Collection
    puis j'ai ajouter à ma collection autant d'instance de la classe Fram que tu as créé de Frame!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     'cré une nouvelle frame
            MesFrames.Add New Fram, valFrame
           Set MesFrames(valFrame).Fram = Me.Controls.Add("Forms.Frame.1", valFrame, True)
           MesFrames(valFrame).Fram.Move Left:=20, Top:=posTopFrame, Width:=200, Height:=hautFrame
    notes que toutes les frames auront le même Fram_DblClick

  7. #7
    Membre régulier
    Homme Profil pro
    retraité
    Inscrit en
    Mars 2019
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

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

    Informations forums :
    Inscription : Mars 2019
    Messages : 53
    Points : 76
    Points
    76
    Par défaut
    Bonjour,

    Je n'ai pas trop de temps, mais regarde :

    https://www.developpez.net/forums/d1...dynamiquement/

    Voir la réponse, entre autres, de Pierre Fauconnier et surtout lis son PS

    A+
    Eric

    Thumb down désolé je n'avais pas vu ta réponse. Ce qui n'empêche pas le PS de Pierre Fauconnier

  8. #8
    Futur Membre du Club
    Homme Profil pro
    Bureau d'étude
    Inscrit en
    Décembre 2021
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Bureau d'étude
    Secteur : Bâtiment

    Informations forums :
    Inscription : Décembre 2021
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    Bonjour,

    Merci à vous deux!

    Vos réponses m'aide beaucoup, je n'ais pas de formation en programmation et je connais mal le fonctionnement des classes avez vous des "cours / PDF / tuto..." à me recommander ?

    Bonne Journée.

  9. #9
    Membre chevronné Avatar de Thumb down
    Homme Profil pro
    Retraité
    Inscrit en
    Juin 2019
    Messages
    1 420
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Juin 2019
    Messages : 1 420
    Points : 2 179
    Points
    2 179

  10. #10
    Futur Membre du Club
    Homme Profil pro
    Bureau d'étude
    Inscrit en
    Décembre 2021
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Bureau d'étude
    Secteur : Bâtiment

    Informations forums :
    Inscription : Décembre 2021
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    Merci

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

Discussions similaires

  1. Contrôles utilisateur et editeur visuel Delphi
    Par All Jinx dans le forum Delphi
    Réponses: 4
    Dernier message: 06/10/2006, 18h04
  2. Tests unitaires avec vbUnit sur des contrôles utilisateurs
    Par Patrick Mortas dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 07/09/2006, 18h06
  3. Réponses: 2
    Dernier message: 20/04/2006, 14h05
  4. [C#][VS2005]Contrôle utilisateur et saisie TextBox
    Par caelum dans le forum Windows Forms
    Réponses: 2
    Dernier message: 19/04/2006, 21h24

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