Les Boutons radios ... Est - il possible de griser d'en certains dans l'ensemble ??

HakunaMatata

XLDnaute Nouveau
Bonjour,

J'ai créé une fenêtre de la manière suivante :

fenetre_appli.jpg

J'aurais souhaité savoir s'il est possible ou non de griser les boutons radios de façon à ce que :

Si le mois n'est pas encore passé, on le grise .

Exemple, nous sommes en juillet. Il faudrait dans ce cas que l'on grise les mois d'aout, septembre, octobre, novembre et décembre.

Sur le coup, je voulais récupérer le numéro du mois en faisant :

Code:
Dim mois As Integer
    mois = Month(Date)

Ensuite, récupérer le numéro du mois de chaque bouton de la façon suivante :

Code:
Dim numMois As Integer
    If (BtnJanvier) Then numMois = 1
    If (BtnFevrier) Then numMois = 2
    If (BtnMars) Then numMois = 3
    If (BtnAvril) Then numMois = 4
    If (BtnMai) Then numMois = 5
    If (BtnJuin) Then numMois = 6
    If (BtnJuillet) Then numMois = 7
    If (BtnAout) Then numMois = 8
    If (BtnSeptembre) Then numMois = 9
    If (BtnOctobre) Then numMois = 10
    If (BtnNovembre) Then numMois = 11
    If (BtnDecembre) Then numMois = 12

Et là, je me suis dit : il me reste à faire une boucle de telle sorte que si le mois numMois > Mois alors, on grise le bouton radio.

Code:
    If (numMois > mois) Then
        
    End If

Or, c'est ici que je bloque... Je pense que j'ai voulu ou faire trop compliquer ou bien... ce que j'ai fais n'est pas bon tout simplement...

Si quelqu'un peut m'aider à voir plus clair et comment faire .. Je le remercie d'avance !!
 

HakunaMatata

XLDnaute Nouveau
Re : Les Boutons radios ... Est - il possible de griser d'en certains dans l'ensemble

Bonjour HakunaMatata

As tu testé avec ?


Code:
enable=false

Bonjour Michel (si je ne me trompe pas ^^)

Alors, si je fais de la façon suivante ??

Code:
Private Sub UserForm_Initialize()
    Dim mois As Integer
    mois = Month(Date)
    Dim numMois As Integer
    If (BtnJanvier) Then numMois = 1
    If (BtnFevrier) Then numMois = 2
    If (BtnMars) Then numMois = 3
    If (BtnAvril) Then numMois = 4
    If (BtnMai) Then numMois = 5
    If (BtnJuin) Then numMois = 6
    If (BtnJuillet) Then numMois = 7
    If (BtnAout) Then numMois = 8
    If (BtnSeptembre) Then numMois = 9
    If (BtnOctobre) Then numMois = 10
    If (BtnNovembre) Then numMois = 11
    If (BtnDecembre) Then numMois = 12
    If (numMois > mois) Then
        enable = False
    End If
End Sub

Alors, non, ca ne marche pas dans ce cas...

Mais en même temps, je ne lui ai pas dit quel bouton sélectionner... Car je ne vois pas comment faire.. .A moins que je dis si mois <2 alors, bloquer les boutons suivants. si <3 alors bloquer les suivants etc etc.. Et là, ça va faire un code où on ne s'en sort plus quoi ... Non ?? :S
 

MJ13

XLDnaute Barbatruc
Re : Les Boutons radios ... Est - il possible de griser d'en certains dans l'ensemble

Re

Je pensais plus à un code de ce type (à adapter à ton code):

Code:
Private Sub UserForm_Initialize()
Me.OptionButton1.Enabled = False
End Sub
 

HakunaMatata

XLDnaute Nouveau
Re : Les Boutons radios ... Est - il possible de griser d'en certains dans l'ensemble

Re,

Ah ok ! Euh... ben, j'ai fait ça avant de voir ta réponse :

Code:
Private Sub UserForm_Initialize()
    Dim mois As Integer
    mois = Month(Date)
    
    If (mois < 2) Then
        BtnFevrier.Enabled = False
        BtnMars.Enabled = False
        BtnAvril.Enabled = False
        BtnMai.Enabled = False
        BtnJuin.Enabled = False
        BtnJuillet.Enabled = False
        BtnAout.Enabled = False
        BtnSeptembre.Enabled = False
        BtnOctobre.Enabled = False
        BtnNovembre.Enabled = False
        BtnDecembre.Enabled = False
    End If
    If (mois < 3) Then
        BtnMars.Enabled = False
        BtnAvril.Enabled = False
        BtnMai.Enabled = False
        BtnJuin.Enabled = False
        BtnJuillet.Enabled = False
        BtnAout.Enabled = False
        BtnSeptembre.Enabled = False
        BtnOctobre.Enabled = False
        BtnNovembre.Enabled = False
        BtnDecembre.Enabled = False
    End If
    If (mois < 4) Then
        BtnAvril.Enabled = False
        BtnMai.Enabled = False
        BtnJuin.Enabled = False
        BtnJuillet.Enabled = False
        BtnAout.Enabled = False
        BtnSeptembre.Enabled = False
        BtnOctobre.Enabled = False
        BtnNovembre.Enabled = False
        BtnDecembre.Enabled = False
    End If
    If (mois < 5) Then
        BtnMai.Enabled = False
        BtnJuin.Enabled = False
        BtnJuillet.Enabled = False
        BtnAout.Enabled = False
        BtnSeptembre.Enabled = False
        BtnOctobre.Enabled = False
        BtnNovembre.Enabled = False
        BtnDecembre.Enabled = False
    End If
    If (mois < 6) Then
        BtnJuin.Enabled = False
        BtnJuillet.Enabled = False
        BtnAout.Enabled = False
        BtnSeptembre.Enabled = False
        BtnOctobre.Enabled = False
        BtnNovembre.Enabled = False
        BtnDecembre.Enabled = False
    End If
    If (mois < 7) Then
        BtnJuillet.Enabled = False
        BtnAout.Enabled = False
        BtnSeptembre.Enabled = False
        BtnOctobre.Enabled = False
        BtnNovembre.Enabled = False
        BtnDecembre.Enabled = False
    End If
    If (mois < 8) Then
        BtnAout.Enabled = False
        BtnSeptembre.Enabled = False
        BtnOctobre.Enabled = False
        BtnNovembre.Enabled = False
        BtnDecembre.Enabled = False
    End If
    If (mois < 9) Then
        BtnSeptembre.Enabled = False
        BtnOctobre.Enabled = False
        BtnNovembre.Enabled = False
        BtnDecembre.Enabled = False
    End If
    If (mois < 10) Then
        BtnOctobre.Enabled = False
        BtnNovembre.Enabled = False
        BtnDecembre.Enabled = False
    End If
    If (mois < 11) Then
        BtnNovembre.Enabled = False
        BtnDecembre.Enabled = False
    End If
    If (mois < 12) Then
        BtnDecembre.Enabled = False
    End If
    
End Sub

Mais ça fait un peu ... long on va dire ! :)

Mais au moins, quand je l'exécute, ca me donne ceci :

fenetre_appli_modifie.jpg

Ca revient un peu à ce que tu me disais finalement avec le enabled.. N'est ce pas ?
 

Dull

XLDnaute Barbatruc
Re : Les Boutons radios ... Est - il possible de griser d'en certains dans l'ensemble

Salut HakunaMatata, Michel:), le Forum

Pierrot:) et Fred:) m'avaient aidé sur un problème similaire mais moi c'était avec des CommandButtons

regardes le post et les réponses données et essaye de t'en inspirer

Bonne Journée
 

Pierrot93

XLDnaute Barbatruc
Re : Les Boutons radios ... Est - il possible de griser d'en certains dans l'ensemble

Bonjour,

essaye ceci, après avoir renseigné la propriété TAG de chaque "optionbutton" par le numéro du mois :
Code:
Option Explicit
Private Sub CommandButton1_Click()
Dim c As Control
For Each c In Me.Controls
    If TypeName(c) = "OptionButton" Then
        If CInt(c.Tag) > Month(Date) Then c.Enabled = False
    End If
Next c
End Sub

bon après midi
@+
 

HakunaMatata

XLDnaute Nouveau
Re : Les Boutons radios ... Est - il possible de griser d'en certains dans l'ensemble

Bonjour Pierrot, Re Michel et Dull,

Alors merci beaucoup pour votre aide !!! Elle m'a été très importante ! Maintenant, grâce à vous, ça fonctionne nickel comme je le souhaitais !!!

Tout d'abord, merci Michel car je ne sais pas si j'aurais pensé de si tôt à enabled de cette façon là !

Ensuite, merci Dull car ton lien m'a été très intéressant. J'avais fait une première modif' en changeant quelques trucs des codes dans ta discussion et ça marchait nickel. Il y avait pas mal de trucs à changer mais c'était pour la bonne cause.

Puis après, est arrivé Pierrot qui m'a montré une autre façon de faire la chose ! Donc, j'ai "remis" comme c'était avant les modifications pour tester... Et là, aussi, Nickel ! ça marche à merveille !

Surtout que je ne comprenais pas trop le but de "TAG" et maintenant, au moins, je le sais et vais pouvoir m'en servir dès que j'en aurais l'occasion !!!

Au moins, ici, j'ai appris beaucoup beaucoup de choses en peu de temps !!! =D

Merci à vous trois pour avoir consacré du temps sur cette discussion !!

Je vous souhaite un bon après midi !
 
Dernière édition:

Statistiques des forums

Discussions
312 484
Messages
2 088 798
Membres
103 970
dernier inscrit
pepito59