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 :

Form GRAPHIQUE, Gestion des boutons


Sujet :

Macros et VBA Excel

  1. #1
    Membre extrêmement actif Avatar de mjpmjp
    Homme Profil pro
    Retraité
    Inscrit en
    avril 2012
    Messages
    1 133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hautes Alpes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Santé

    Informations forums :
    Inscription : avril 2012
    Messages : 1 133
    Points : 1 435
    Points
    1 435
    Par défaut Form GRAPHIQUE, Gestion des boutons
    bonjour,
    oui je sais EXCEL c'est un tableur!!! c'est efficace et c'est sobre...OK??

    NON pas OK!!!

    voila na !!
    Nom : Capture0.PNG
Affichages : 594
Taille : 77,9 Ko

    plusieurs choses:
    les listes (ListBox) on une ligne bleue qui suit le curseur (j'ai un problème avec 2016)
    la ScrollBar est indépendante (et oui ) elle est cachée s'il le faut
    chaque bouton de la rangée du bas affiche une liste (TabStip,Multipage)
    la bande centrale du form est une frame qui glisse (entre les rails)
    chaque bouton de la rangée du haut affiche une frame (qui est composée d'une partie principale et d'une partie "option"
    le bouton "options" masque (ouvre/ferme) cette partie
    la petite liste de droite est celle des "onglet", elle est dimensionnée et positionnée par rapport au bouton qui l’appelle

    et enfin vu le titre, les boutons
    Caractéristiques (WEB) phpMyAdmin 4-74 , PHP 5-631 , Apache 2-427 , MySQL 5-719
    Présentation NAS DS-3615xs + 20Go , DSM 6.1.6-15266 Up1 , 12 * WD 4To WD4000F9YZ (10 raid 6+ )+(2 raid 1+) , LinkSys comutateur-switch lgs528p-eu , Onduleur UPS 720W Power Boxx Lcd (4*UPS + 4*MOD)
    Mes contributions (EXCEL) Form GRAPHIQUE: Gestion des boutons , Liste Onglet dynamique...GESTION de FILM

  2. #2
    Membre extrêmement actif Avatar de mjpmjp
    Homme Profil pro
    Retraité
    Inscrit en
    avril 2012
    Messages
    1 133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hautes Alpes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Santé

    Informations forums :
    Inscription : avril 2012
    Messages : 1 133
    Points : 1 435
    Points
    1 435
    Par défaut
    bonjour,
    j'utilise Paint (tout simple)...je précise tout simple parcequ'il y a un nouveau Paint 3D (à voir)

    voici donc une étude sur les boutons (capture sur paint)
    Nom : Capture1.PNG
Affichages : 573
Taille : 9,0 Ko

    j'ai l'habitude d'encadrer en orange (même sur fond blanc) c'est pour éviter les coloriages avec le pot de peinture...en gros çà protège

    pour être tout à fait franc, je me suis inspiré (couleur et ombre) d'un site : anciennement Ciné Loisir, qui est maintenant : cinemur.fr

    mais revenons a nos boutons (mon concept...libre)

    à droite,(notez la partie supérieur plus sombre)
    un bouton normal (relâché) --> au passage de la souris, il s'enfonce
    un bouton enfoncé --> Noir --> pas Activé
    un bouton enfoncé --> Vert --> Activé (s’allume en vert)
    un bouton enfoncé --> Rouge --> Activé (s’allume en rouge) notion de "Attention"
    un bouton semi enfoncé --> Bleu --> reste allumé en bleu --> lance une action

    à gauche, (c'est vraiment chercher les em... )
    la colonne de droite est pour les fonds sombres (et oui...pfouuu) çà ce voit dans les angles

    pour en finir avec le dessin,
    on sélectionne à l' intérieur du cadre , on copie, on colle dans un nouveau paint dans un plan qu'on a réduit au max ce qui va dimensionner automatiquement et enfin on sauve en "bmp" avec le nom qui va bien (on y revient)
    ces "Image.bmp" on va les mettre dans des "contrôle image" avec AutoSize=True ce qui nous donne les dimensions exactes.

    voila donc ces "contrôle image"
    Nom : Capture2.PNG
Affichages : 612
Taille : 31,4 Ko
    Caractéristiques (WEB) phpMyAdmin 4-74 , PHP 5-631 , Apache 2-427 , MySQL 5-719
    Présentation NAS DS-3615xs + 20Go , DSM 6.1.6-15266 Up1 , 12 * WD 4To WD4000F9YZ (10 raid 6+ )+(2 raid 1+) , LinkSys comutateur-switch lgs528p-eu , Onduleur UPS 720W Power Boxx Lcd (4*UPS + 4*MOD)
    Mes contributions (EXCEL) Form GRAPHIQUE: Gestion des boutons , Liste Onglet dynamique...GESTION de FILM

  3. #3
    Membre extrêmement actif Avatar de mjpmjp
    Homme Profil pro
    Retraité
    Inscrit en
    avril 2012
    Messages
    1 133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hautes Alpes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Santé

    Informations forums :
    Inscription : avril 2012
    Messages : 1 133
    Points : 1 435
    Points
    1 435
    Par défaut
    bonjour,
    les "contrôle image" sont dans des frames , c'est plus pratique on masque la frame (Visible=False) et TOUT le contenu est invisible

    une pause s'impose

    le graphisme c'est un peu du cinéma, de l’illusion, ce qui amène des "solution informatique" surprenantes

    dans la dernière capture, le FORM c'est le gris très foncé.
    à gauche l'image (Picture) du FORM, qui est plus petite que le FORM (avec le bouton "Fermer le Form")
    au centre, une bande horizontale , la FRAME PRINCIPALE, qui fait 3 fois (ou plus) la largeur du FORM (le form à maintenant un "ScrollWidth=largeur de la frame principale" et une scrollbar quil faudra masquer)
    à droite, une frame 1, puis une autre frame 2,... la scrollbar (et le scrollwidth) du form permet d’accéder à toutes les frames (analogie au multipage)

    et nous revoilou avec nos boutons au milieu dans leur frame (masquée) respective
    NOTEZ...le rectangle noir ...dans la frame du bas...c'est un "contrôle label"...sa fonction ? c'est la vitre de votre smartphone.... the Glass...
    Caractéristiques (WEB) phpMyAdmin 4-74 , PHP 5-631 , Apache 2-427 , MySQL 5-719
    Présentation NAS DS-3615xs + 20Go , DSM 6.1.6-15266 Up1 , 12 * WD 4To WD4000F9YZ (10 raid 6+ )+(2 raid 1+) , LinkSys comutateur-switch lgs528p-eu , Onduleur UPS 720W Power Boxx Lcd (4*UPS + 4*MOD)
    Mes contributions (EXCEL) Form GRAPHIQUE: Gestion des boutons , Liste Onglet dynamique...GESTION de FILM

  4. #4
    Membre extrêmement actif Avatar de mjpmjp
    Homme Profil pro
    Retraité
    Inscrit en
    avril 2012
    Messages
    1 133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hautes Alpes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Santé

    Informations forums :
    Inscription : avril 2012
    Messages : 1 133
    Points : 1 435
    Points
    1 435
    Par défaut
    bonjour,
    bon, voila le schéma d'un bouton
    Nom : Capture3.PNG
Affichages : 542
Taille : 4,4 Ko

    pour les noms, dans cette configuration (multipage/frame1, 2, ...)
    Lbl --> Label , Img --> Image
    Frm --> Frame
    1 --> numéro de la frame
    _1 --> numéro du bouton de la frame
    Fond --> c'est le fond , Glass --> c'est la vitre --> la surface de contact

    LE MECANISME du BOUTON
    la souris passe sur "Glass" --> le bouton s'enfonce --> s'il est actif il s’allume en vert (ou rouge) s'il est inactif il reste noir
    le bouton normal (relâché) --> c'est une copie du "contrôle image" stocké dans une des frames masquées --> nom de code (c'est le cas de le dire) ImbBtnClairNormal qui devient ImgFrm1_1Fond
    le bouton s'enfonce --> inactif --> noir --> le nouveau "contrôle image" ImgFrm1_1Fond.Picture = ImbBtnClairEnfonce.Picture -->l'image de fond du bouton1 de la frame1 représente maintenant un bouton enfoncé noir
    le bouton s'enfonce --> actif normal --> vert --> le nouveau "contrôle image" ImgFrm1_1Fond.Picture = ImbBtnClairEnfonceVert.Picture -->l'image de fond du bouton1 de la frame1 représente maintenant un bouton enfoncé allumé en vert
    je clique sur "Glass" --> le bouton est enfoncé, inactif, noir --> rien, pas d'action
    je clique sur "Glass" --> le bouton est enfoncé, actif, vert --> le nouveau "contrôle image" ImgFrm1_1Fond.Picture = ImbBtnClairEnfonceBleu.Picture -->l'image de fond du bouton1 de la frame1 représente maintenant un bouton enfoncé allumé en bleu, une action est entreprise....
    si le bouton est enfoncé, actif, rouge --> on demande confirmation...

    Un Mécanisme double
    quand le bouton est bleu, si on passe sur "Glass" le bouton s'enfonce et s'allume en vert, et si on clique sur "Glass" il s'éteint et redevient relâché
    pour cela on utilise une variable qui aura pour valeur l'état du bouton --> OFF, éteint --> ON,allumé --> NO,inactif
    le nom de cette variable va être construit dans le même sans que les noms des contrôles
    perso, j'utilise une méthode particulière pour déclarer mes variables

    Plus de détails sur ma méthode particulière pour déclarer mes variables
    http://www.developpez.net/forums/d16...es-module-vba/

    a venir, les variables et le code (enfin)
    @+JP
    Caractéristiques (WEB) phpMyAdmin 4-74 , PHP 5-631 , Apache 2-427 , MySQL 5-719
    Présentation NAS DS-3615xs + 20Go , DSM 6.1.6-15266 Up1 , 12 * WD 4To WD4000F9YZ (10 raid 6+ )+(2 raid 1+) , LinkSys comutateur-switch lgs528p-eu , Onduleur UPS 720W Power Boxx Lcd (4*UPS + 4*MOD)
    Mes contributions (EXCEL) Form GRAPHIQUE: Gestion des boutons , Liste Onglet dynamique...GESTION de FILM

  5. #5
    Membre extrêmement actif Avatar de mjpmjp
    Homme Profil pro
    Retraité
    Inscrit en
    avril 2012
    Messages
    1 133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hautes Alpes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Santé

    Informations forums :
    Inscription : avril 2012
    Messages : 1 133
    Points : 1 435
    Points
    1 435
    Par défaut
    bonjour,
    je viens de voir une erreur dans les noms des "contrôle image" masqués (ImdBtn...normalement...ImgBtn...)

    voici un autre schéma plus complet
    Nom : Capture4.PNG
Affichages : 641
Taille : 13,6 Ko
    Caractéristiques (WEB) phpMyAdmin 4-74 , PHP 5-631 , Apache 2-427 , MySQL 5-719
    Présentation NAS DS-3615xs + 20Go , DSM 6.1.6-15266 Up1 , 12 * WD 4To WD4000F9YZ (10 raid 6+ )+(2 raid 1+) , LinkSys comutateur-switch lgs528p-eu , Onduleur UPS 720W Power Boxx Lcd (4*UPS + 4*MOD)
    Mes contributions (EXCEL) Form GRAPHIQUE: Gestion des boutons , Liste Onglet dynamique...GESTION de FILM

  6. #6
    Membre extrêmement actif Avatar de mjpmjp
    Homme Profil pro
    Retraité
    Inscrit en
    avril 2012
    Messages
    1 133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hautes Alpes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Santé

    Informations forums :
    Inscription : avril 2012
    Messages : 1 133
    Points : 1 435
    Points
    1 435
    Par défaut
    bonjour,
    maintenant le code, dans le VBA du Form
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    '###################################################### FRAME,1,Analyse
    '--------------------------------------------------------------------------------------------------  FRAME,1,Analyse,Btn,1,Serveur
    Private Sub LblFrm1_1Glass_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
        Call Btn_MouseMove(Me.ImgFrm1_1Fond, "C", VarListFilmSynchro_BtnFrm1_1)
    End Sub
    j'ai laissé les lignes commentaire de séparation pour montrer qu'il faut absolument organiser et classer le code
    la procédure d’événement est "MouseMove" et on appelle Btn_MouseMove

    Btn_MouseMove
    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
    22
    23
    24
    25
     
    Private Sub Btn_MouseMove(ByRef ObjImg As Object, FondClairSombre As String, ByVal BtnEtat As String, Optional CouleurBtn As String)
        Select Case UCase(FondClairSombre)
            Case "CLAIR", "C"
                If BtnEtat = "NO" Then
                    Set ObjImg.Picture = Me.ImbBtnClairEnfonce.Picture
                Else
                    If UCase(CouleurBtn) = "ROUGE" Or UCase(CouleurBtn) = "R" Then
                        Set ObjImg.Picture = Me.ImbBtnClairEnfonceRouge.Picture
                    Else
                        Set ObjImg.Picture = Me.ImbBtnClairEnfonceVert.Picture
                    End If
                End If
            Case "SOMBRE", "S", "FONCE", "F"
                If BtnEtat = "NO" Then
                    Set ObjImg.Picture = Me.ImbBtnSombreEnfonce.Picture
                Else
                    If UCase(CouleurBtn) = "ROUGE" Or UCase(CouleurBtn) = "R" Then
                        Set ObjImg.Picture = Me.ImbBtnSombreEnfonceRouge.Picture
                    Else
                        Set ObjImg.Picture = Me.ImbBtnSombreEnfonceVert.Picture
                    End If
                End If
            End Select
    End Sub
    Caractéristiques (WEB) phpMyAdmin 4-74 , PHP 5-631 , Apache 2-427 , MySQL 5-719
    Présentation NAS DS-3615xs + 20Go , DSM 6.1.6-15266 Up1 , 12 * WD 4To WD4000F9YZ (10 raid 6+ )+(2 raid 1+) , LinkSys comutateur-switch lgs528p-eu , Onduleur UPS 720W Power Boxx Lcd (4*UPS + 4*MOD)
    Mes contributions (EXCEL) Form GRAPHIQUE: Gestion des boutons , Liste Onglet dynamique...GESTION de FILM

  7. #7
    Membre extrêmement actif Avatar de mjpmjp
    Homme Profil pro
    Retraité
    Inscrit en
    avril 2012
    Messages
    1 133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hautes Alpes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Santé

    Informations forums :
    Inscription : avril 2012
    Messages : 1 133
    Points : 1 435
    Points
    1 435
    Par défaut
    bonjour,

    Btn_MouseMove

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Private Sub Btn_MouseMove(ByRef ObjImg As Object, FondClairSombre As String, ByVal BtnEtat As String, Optional CouleurBtn As String)
    A NOTER..
    ByRef --> le "contrôle Image" est directement représenté par "ObjImg" Object Image
    toutes les "modif" faites à L' Object ObjImg seront faites directement au Contrôle Me.ImgFrm1_1Fond

    Optional --> toutes les Options sont positionnées à la fin et ne sont pas obligatoires MAIS doivent être substituées dans le code
    par exemple, la couleur verte est par défaut et n'est pas indiquée dans l'appel de la procédure (pour le bouton de fermeture du form, j'indique ",R" ,pour rouge, pour dire attention!!)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Call Btn_MouseMove(Me.ImgFrm1_1Fond, "C", VarListFilmSynchro_BtnFrm1_1)
    l'option est gérée par : si c'est pas Rouge --> "Else"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
                    Else
                        Set ObjImg.Picture = Me.ImbBtnClairEnfonceVert.Picture
    le "C" de Clair aurait pu être en option : si pas foncé alors clair

    Case et UCase --> "SOMBRE", "S", "FONCE", "F",
    le fait d'utiliser "UCase" (majuscule) limite les erreurs du style "sombre", "Sombre" ...
    la possibilité de mettre un "S" et aussi un "s" facilite l'écriture de l'appel
    Caractéristiques (WEB) phpMyAdmin 4-74 , PHP 5-631 , Apache 2-427 , MySQL 5-719
    Présentation NAS DS-3615xs + 20Go , DSM 6.1.6-15266 Up1 , 12 * WD 4To WD4000F9YZ (10 raid 6+ )+(2 raid 1+) , LinkSys comutateur-switch lgs528p-eu , Onduleur UPS 720W Power Boxx Lcd (4*UPS + 4*MOD)
    Mes contributions (EXCEL) Form GRAPHIQUE: Gestion des boutons , Liste Onglet dynamique...GESTION de FILM

  8. #8
    Membre extrêmement actif Avatar de mjpmjp
    Homme Profil pro
    Retraité
    Inscrit en
    avril 2012
    Messages
    1 133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hautes Alpes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Santé

    Informations forums :
    Inscription : avril 2012
    Messages : 1 133
    Points : 1 435
    Points
    1 435
    Par défaut
    bonjour,

    La Moitié du chemin

    le bouton est enfoncé...et il le reste

    pour le faire "revenir" (bouton relâché normal) il faut :
    que la souris quitte le bouton
    que la souris passe sur un autre object (contrôle)
    il ne faut pas oublier également
    Un Mécanisme double
    quand le bouton est bleu, si on passe sur "Glass" le bouton s'enfonce et s'allume en vert,...
    il faut donc tester si le bouton est Bleu "ON"
    Caractéristiques (WEB) phpMyAdmin 4-74 , PHP 5-631 , Apache 2-427 , MySQL 5-719
    Présentation NAS DS-3615xs + 20Go , DSM 6.1.6-15266 Up1 , 12 * WD 4To WD4000F9YZ (10 raid 6+ )+(2 raid 1+) , LinkSys comutateur-switch lgs528p-eu , Onduleur UPS 720W Power Boxx Lcd (4*UPS + 4*MOD)
    Mes contributions (EXCEL) Form GRAPHIQUE: Gestion des boutons , Liste Onglet dynamique...GESTION de FILM

  9. #9
    Membre extrêmement actif Avatar de mjpmjp
    Homme Profil pro
    Retraité
    Inscrit en
    avril 2012
    Messages
    1 133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hautes Alpes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Santé

    Informations forums :
    Inscription : avril 2012
    Messages : 1 133
    Points : 1 435
    Points
    1 435
    Par défaut
    bonjour,
    l' Object ou contrôle le plus proche du bouton c'est le form ou la frame (dans ce contexte)
    il faut donc tester si la souris passe sur le form ou la frame

    dans le VBA du form
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Private Sub UserForm_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
        If Button = 1 Then Call FormDeplace(Me)
        Call Mouse_Move
    End Sub
    Private Sub FrmAnalyse_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
        Call Mouse_Move
    End Sub
    Private Sub FrmTraitement_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
        Call Mouse_Move
    End Sub
    dans ce contexte, il y a plusieurs frames --> on les teste toutes --> et on appelle la procédure "Mouse_Move"

    A NOTER..
    dans l’événement "MouseMove" du form, on teste si le bouton de la souris est enfoncé --> on appelle la procédure FormDeplace
    en effet, dans la capture du début (tout en haut) il n'y a pas de "barre de titre"

    Mouse_Move
    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
     
    Private Sub Mouse_Move()
        '------------------ FORM
        '----- 1
        If VarListFilmSynchro_BtnUsf_1 = "ON" Then
            Me.ImgUsf_1Fond.Picture = ImbBtnSombreEnfonceBleu.Picture
        Else
            Me.ImgUsf_1Fond.Picture = ImbBtnSombreNormal.Picture
        End If
        '------------------ FRAME
        '----- 1 Analyse
        If VarListFilmSynchro_BtnUsf_1 = "ON" Then
            '----- 1
            If VarListFilmSynchro_BtnFrm1_1 = "ON" Then
                Me.ImgFrm1_1Fond.Picture = ImbBtnClairEnfonceBleu.Picture
            Else
                Me.ImgFrm1_1Fond.Picture = ImbBtnClairNormal.Picture
            End If
        End If
    End Sub
    Caractéristiques (WEB) phpMyAdmin 4-74 , PHP 5-631 , Apache 2-427 , MySQL 5-719
    Présentation NAS DS-3615xs + 20Go , DSM 6.1.6-15266 Up1 , 12 * WD 4To WD4000F9YZ (10 raid 6+ )+(2 raid 1+) , LinkSys comutateur-switch lgs528p-eu , Onduleur UPS 720W Power Boxx Lcd (4*UPS + 4*MOD)
    Mes contributions (EXCEL) Form GRAPHIQUE: Gestion des boutons , Liste Onglet dynamique...GESTION de FILM

  10. #10
    Membre extrêmement actif Avatar de mjpmjp
    Homme Profil pro
    Retraité
    Inscrit en
    avril 2012
    Messages
    1 133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hautes Alpes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Santé

    Informations forums :
    Inscription : avril 2012
    Messages : 1 133
    Points : 1 435
    Points
    1 435
    Par défaut
    bonjour,

    Mouse_Move

    j'insiste encore une fois, sur l'importance de classer le code
    dans cette procédure (qui a été "réduite") on distingue clairement les boutons du Form..1,.. et ceux des Frames..1,..

    ce classement passe également (vu plus haut) par la construction des noms des variables
    VarListFilmSynchro_BtnUsf_1 --> Variable..NomDuForm..Bouton..UserForm..numéro 1
    VarListFilmSynchro_BtnFrm1_1 --> Variable..NomDuForm..Bouton..Frame..1..numéro 1

    A NOTER..

    évite de tester les boutons de la Frame 1 --> si la variable n'est pas "ON"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
        If VarListFilmSynchro_BtnUsf_1 = "ON" Then
            ...
        End If
    la variable = "ON" --> bouton "Bleu" --> Frame 1 = visible...
    Caractéristiques (WEB) phpMyAdmin 4-74 , PHP 5-631 , Apache 2-427 , MySQL 5-719
    Présentation NAS DS-3615xs + 20Go , DSM 6.1.6-15266 Up1 , 12 * WD 4To WD4000F9YZ (10 raid 6+ )+(2 raid 1+) , LinkSys comutateur-switch lgs528p-eu , Onduleur UPS 720W Power Boxx Lcd (4*UPS + 4*MOD)
    Mes contributions (EXCEL) Form GRAPHIQUE: Gestion des boutons , Liste Onglet dynamique...GESTION de FILM

  11. #11
    Membre extrêmement actif Avatar de mjpmjp
    Homme Profil pro
    Retraité
    Inscrit en
    avril 2012
    Messages
    1 133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hautes Alpes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Santé

    Informations forums :
    Inscription : avril 2012
    Messages : 1 133
    Points : 1 435
    Points
    1 435
    Par défaut
    bonjour,

    voila un bouton qui s'enfonce et qui revient à sa position initiale, qui indique qu'il est actif ou non, qui nous dit "attention"...

    Action, Réaction

    il ne reste plus qu'à cliquer dessus...mais là, je n'utilise pas l’événement "Click" mais "MouseDown" qui appelle la procédure "Action..de ce bouton"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Private Sub LblUsf_1Glass_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
        Call Usf_1_Action
    End Sub
    Usf_1_Action
    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
     
    Private Sub Usf_1_Action()
        If VarListFilmSynchro_BtnUsf_1 = "NO" Then Exit Sub
        If VarListFilmSynchro_BtnUsf_1 = "OFF" Then
            VarListFilmSynchro_BtnUsf_1 = "ON": Me.ImgUsf_1Fond.Picture = Me.ImbBtnSombreEnfonceBleu.Picture
            If VarListFilmSynchro_BtnUsf_2 = "ON" Then VarListFilmSynchro_BtnUsf_2 = "OFF": Me.ImgUsf_2Fond.Picture = Me.ImbBtnSombreNormal.Picture
            If VarListFilmSynchro_BtnUsf_3 = "ON" Then VarListFilmSynchro_BtnUsf_3 = "OFF": Me.ImgUsf_3Fond.Picture = Me.ImbBtnSombreNormal.Picture
            '---- action
            Me.FrmAnalyse.Top = 1
            Me.FrmAnalyse.Left = -1
            Me.FrmTraitement.Left = 1200
            '----
        Else
            VarListFilmSynchro_BtnUsf_1 = "OFF": Me.ImgUsf_1Fond.Picture = Me.ImbBtnSombreNormal.Picture
            Me.FrmAnalyse.Left = 1200
        End If
    End Sub
    normalement, le code de l'action n'a pas d’intérêt, puisque cette action est propre à chaque programme, MAIS la REACTION est intéressante,

    en premier, si le bouton n'est pas actif --> on sort --> pas d'action
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    If VarListFilmSynchro_BtnUsf_1 = "NO" Then Exit Sub
    si le bouton était éteint --> "OFF" --> on l'allume "ON"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    If VarListFilmSynchro_BtnUsf_1 = "OFF" Then
            VarListFilmSynchro_BtnUsf_1 = "ON"
    MAIS la REACTION
    on éteint les autres boutons
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    If VarListFilmSynchro_BtnUsf_2 = "ON" Then VarListFilmSynchro_BtnUsf_2 = "OFF"
    If VarListFilmSynchro_BtnUsf_3 = "ON" Then VarListFilmSynchro_BtnUsf_3 = "OFF"
    MAIS Aussi
    si le bouton était allumé, on l'éteint
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Else
            VarListFilmSynchro_BtnUsf_1 = "OFF"
    voila, je pense que tout y est ...sauf ce qui manque

    Lien vers : Form GRAPHIQUE, Liste Onglet dynamique

    voila pour cette partie, n’hésitez pas pour aller voir la suite...

    @+JP
    Caractéristiques (WEB) phpMyAdmin 4-74 , PHP 5-631 , Apache 2-427 , MySQL 5-719
    Présentation NAS DS-3615xs + 20Go , DSM 6.1.6-15266 Up1 , 12 * WD 4To WD4000F9YZ (10 raid 6+ )+(2 raid 1+) , LinkSys comutateur-switch lgs528p-eu , Onduleur UPS 720W Power Boxx Lcd (4*UPS + 4*MOD)
    Mes contributions (EXCEL) Form GRAPHIQUE: Gestion des boutons , Liste Onglet dynamique...GESTION de FILM

  12. #12
    Membre extrêmement actif Avatar de mjpmjp
    Homme Profil pro
    Retraité
    Inscrit en
    avril 2012
    Messages
    1 133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hautes Alpes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Santé

    Informations forums :
    Inscription : avril 2012
    Messages : 1 133
    Points : 1 435
    Points
    1 435
    Caractéristiques (WEB) phpMyAdmin 4-74 , PHP 5-631 , Apache 2-427 , MySQL 5-719
    Présentation NAS DS-3615xs + 20Go , DSM 6.1.6-15266 Up1 , 12 * WD 4To WD4000F9YZ (10 raid 6+ )+(2 raid 1+) , LinkSys comutateur-switch lgs528p-eu , Onduleur UPS 720W Power Boxx Lcd (4*UPS + 4*MOD)
    Mes contributions (EXCEL) Form GRAPHIQUE: Gestion des boutons , Liste Onglet dynamique...GESTION de FILM

Discussions similaires

  1. Oracle Forms 6i Gestion des boutons d'un message
    Par macyas dans le forum Forms
    Réponses: 4
    Dernier message: 23/01/2008, 14h35
  2. Oracle Forms 6i Gestion des boutons
    Par macyas dans le forum Forms
    Réponses: 1
    Dernier message: 15/01/2008, 14h42
  3. Réponses: 17
    Dernier message: 02/02/2006, 13h03
  4. [VB.NET] Gestion des boutons d'un formulaire
    Par dinbougre dans le forum Windows Forms
    Réponses: 4
    Dernier message: 28/01/2005, 10h35
  5. gestion des boutons d'une manette : relachement
    Par backfire dans le forum DirectX
    Réponses: 1
    Dernier message: 05/01/2005, 11h13

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