Bonjour,
J'ai un userform dans lequel j'ai quatre optionbutton. J'aimerai savoir qu'elle est le code pour distinguer chacun des boutons, en utilisant une fonction "Case" au lieu d'utiliser des boucles "IF" imbriques...
Merci
Bonjour,
J'ai un userform dans lequel j'ai quatre optionbutton. J'aimerai savoir qu'elle est le code pour distinguer chacun des boutons, en utilisant une fonction "Case" au lieu d'utiliser des boucles "IF" imbriques...
Merci
Montre ton code avec tes ifs, on te mettra des cases là où il faut qu'elles soient, si c'est possible...
A+
Bien sur ! Merci en tout cas de l'aide
Et en fait j'ai 4 gros cas comme ca et avec dedans des mini cas a traiter normalement....
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
26
27
28
29
30
31
32
33
34
35
36 ComparaisonVisu.Show If ComparaisonVisu.OptionButton3 = True Then STRSQL3 = "SELECT Avg(CLO.Vintage) AS MoyenneVintage, avg(CLO.SettlementDate) AS MoyenneSettlementdate, avg(CLO.SizeDeal) AS MoyenneSizeDeal, Count(CLO.Vintage) AS NombreVintage " & _ "FROM CLO" Set Rs3 = Db1.OpenRecordset(STRSQL3, dbOpenSnapshot) Range("I10").CopyFromRecordset Rs3 End If If ComparaisonVisu.OptionButton2 = True Then STRSQL2 = "SELECT Avg(CLO.Vintage) AS MoyenneVintage, avg(CLO.SettlementDate) AS MoyenneSettlementdate, avg(CLO.SizeDeal) AS MoyenneSizeDeal, Count(CLO.Vintage) AS NombreVintage " & _ "FROM CLO" Set Rs2 = Db1.OpenRecordset(STRSQL2, dbOpenSnapshot) Range("I10").CopyFromRecordset Rs2 End If If ComparaisonVisu.OptionButton1 = True Then STRSQL2 = "SELECT Avg(CLO.Vintage) AS MoyenneVintage, avg(CLO.SettlementDate) AS MoyenneSettlementdate, avg(CLO.SizeDeal) AS MoyenneSizeDeal, Count(CLO.Vintage) AS NombreVintage " & _ "FROM CLO" Set Rs1 = Db1.OpenRecordset(STRSQL1, dbOpenSnapshot) Range("I10").CopyFromRecordset Rs1 End If
Euh...
Je me trompe ou tous tes cas contiennent exactement le même code (à part les noms des variables)?
N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
Pensez aussi à voter pour les réponses qui vous ont aidés.
------------
Je dois beaucoup de mes connaissances à mes erreurs!
Oui oui mais c'est parce que je bosse sur le code et que j'ai fait des copier coller pour expliciter ce que je voulais dire !
Du coup, pour essayer de simplifier le vrai code, c'est pas évident...
Pourquoi ne nous donnes-tu pas le code réel?
N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
Pensez aussi à voter pour les réponses qui vous ont aidés.
------------
Je dois beaucoup de mes connaissances à mes erreurs!
Euh ben comme je l'ai dit avant c'est parce que je suis en train de le taper... Je voulais savoir comment on utilisait le "case" avec des optionbuttons...
bonjour
Tu peux placer des OptionButton dans un Frame et tester cette procédure:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 Private Sub CommandButton1_Click() Dim Ctrl As Control For Each Ctrl In Frame1.Controls If Ctrl.Object.Value = True Then MsgBox Ctrl.Object.Caption Exit For End If Next Ctrl End Sub
michel
Oui, ou
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 Select case True Case Me.OptionButton1.value 'ton code Case Me.OptionButton2.value STRSQL2 = "SELECT Avg(CLO.Vintage) AS MoyenneVintage, avg(CLO.SettlementDate) AS MoyenneSettlementdate, avg(CLO.SizeDeal) AS MoyenneSizeDeal, Count(CLO.Vintage) AS NombreVintage " & _ "FROM CLO" Set Rs1 = Db1.OpenRecordset(STRSQL1, dbOpenSnapshot) Range("I10").CopyFromRecordset Rs1 Case Me.OptionButton3.value STRSQL3 = "SELECT Avg(CLO.Vintage) AS MoyenneVintage, avg(CLO.SettlementDate) AS MoyenneSettlementdate, avg(CLO.SizeDeal) AS MoyenneSizeDeal, Count(CLO.Vintage) AS NombreVintage " & _ "FROM CLO" Set Rs3 = Db1.OpenRecordset(STRSQL3, dbOpenSnapshot) Range("I10").CopyFromRecordset Rs3 Case else End select
sinon, pour faire simple et pour le principe
tu peux faire comme ça
soit a la façon du bouton 1, soit celle du bouton 2
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
26
27
28 Public var As Variant Public variable As Integer Private Sub CommandButton1_Click() MsgBox "je t'aime " & var End Sub Private Sub CommandButton2_Click() Select Case variable Case 1 MsgBox "c'est le 1" Case 2 MsgBox "c'est le 2" Case 3 MsgBox "c'est le 3" End Select End Sub Private Sub OptionButton1_Click() var = "un peu" variable = 1 End Sub Private Sub OptionButton2_Click() var = "beaucoup" variable = 2 End Sub Private Sub OptionButton3_Click() var = "A la folie" variable = 3 End Sub
ps n'y voit rien de personnel
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager