Visual basic - Au suivant

cs_clamor Messages postés 30 Date d'inscription mardi 4 octobre 2005 Statut Membre Dernière intervention 6 avril 2007 - 3 nov. 2005 à 13:03
cs_clamor Messages postés 30 Date d'inscription mardi 4 octobre 2005 Statut Membre Dernière intervention 6 avril 2007 - 8 nov. 2005 à 12:44
Salut,

Voila dans le petit programme que je tente de dévelloper, j'ai plusieurs pages (userform). ex: tennis, foot, volley, rugby, etc.

La première est la liste des sports pouvant être partiqués sous la forme de checkbox.

je voudrais bien que quand je click sur le bouton suivant (que j'ai crée), la page tennis s'ouvre si c'est coché, sinon je regarde l'activité foot et j'ouvre la page si c'est coché, sinon je regarde l'activité volley et j'ouvre la page si c'est coché, sinon je regarde l'activité rugby j'ouvre la page si c'est coché, etc.

mais bon je sais pas comment faire....

est-ce que quelqu'un aurait une idée ??

Faut bien commencer un jour...

4 réponses

ploki122 Messages postés 48 Date d'inscription mercredi 21 septembre 2005 Statut Membre Dernière intervention 20 décembre 2005
3 nov. 2005 à 13:36
bonjour tu serais mieux avec des options car sinon plusieurs page peuvent s'ouvrir en même temps (en moins que tu aies un bouton suivant sur chaque page)
les noms des objets que j'utilise:
opt"nom du sport" = tes option/cases a cocher
"nom du sport" = tes form
form1 = ta page principale
cmdsuivant = ton/tes bouton suivant
8<----------------------------------------------------------------------------
private sub cmdsuivant_click() ' sur ta page principale

if opttennis.value = 1 then 'si l'option tennis est coché
tennis.visible = true 'fait apparaitre ta form tennis
form1.visible = false 'fait disparaitre ta page principale
end if
if optfoot.value = 1 then 'si l'option foot est coché
foot.visible = true 'fait apparaitre ta form foot
form1.visible = false 'fait disparaitre ta page principale
end if
if optrugby.value = 1 then 'si l'option rugby est coché
rugby.visible = true 'fait apparaitre ta form rugby
form1.visible = false 'fait disparaitre ta page principale
end if
if optvolley.value = 1 then 'si l'option volley est coché
volley.visible = true 'fait apparaitre ta form volley
form1.visible = false 'fait disparaitre ta page principale
end if
...

8<----------------------------------------------------------------------------
sinon avec des cases a cocher(et des boutons sur chaque page)...
8<----------------------------------------------------------------------------
private sub cmdsuivant_click() ' sur ta page principale

if opttennis.value = 1 then 'si l'option tennis est coché
tennis.visible = true 'fait apparaitre ta form tennis
form1.visible = false 'fait disparaitre ta page principale
else
if optfoot.value = 1 then 'si l'option foot est coché
foot.visible = true 'fait apparaitre ta form foot
form1.visible = false 'fait disparaitre ta page principale
else
if optrugby.value = 1 then 'si l'option rugby est coché
rugby.visible = true 'fait apparaitre ta form rugby
else
if optvolley.value = 1 then 'si l'option volley est coché
volley.visible = true 'fait apparaitre ta form volley
else
...
'et autant de end if que de if
private sub cmdsuivant_click() ' sur ta form tennis

if form1!optfoot.value = 1 then 'si l'option foot est coché
foot.visible = true 'fait apparaitre ta form foot
tennis.visible = false 'fait disparaitre ta page tennis
else
if form1!optrugby.value = 1 then 'si l'option rugby est coché
rugby.visible = true 'fait apparaitre ta form rugby
tennis.visible = false 'fait disparaitre ta page tennis
else
if form1!optvolley.value = 1 then 'si l'option volley est coché
volley.visible = true 'fait apparaitre ta form volley
tennis.visible = false 'fait disparaitre ta page tennis
else
...

'et ainsi de suite
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
3 nov. 2005 à 13:40
salut,
VBA, je sais pas, mais tu peux facilement comparer avec VB6

par contre, les checkbox, aucun intérêt puisque tu n'ouvres qu'une seule Form.
donc un groupe de contrôle de boutons radio....

au démarrage, listage d'un tableau des sports.
et au click, l'indice du groupe correspond à la Form dans le tableau


Option Explicit
'
Dim aFormNames() As Form
'
Private Sub Form_Load()
ReDim aFormNames(3)
aFormNames(0) = Form_Tennis
aFormNames(1) = Form_Basket
aFormNames(2) = Form_Foot
aFormNames(3) = Form_Rugby
End Sub
'
Private Sub Cmd_ShowFrm_Click()
Dim i As Long
For i = 0 To 3
If Opt_Sports(i).Value = True Then
aFormNames(i).Show
Exit For
End If
Next i
End Sub


<SMALL> Coloration syntaxique automatique [AFCK]</SMALL>


c'est une possibilité, à toi de voir
++
PCPT [AFCK]
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
3 nov. 2005 à 13:42
désolé Ploki, je n'avais pas rafraichi... bonjour
0
cs_clamor Messages postés 30 Date d'inscription mardi 4 octobre 2005 Statut Membre Dernière intervention 6 avril 2007
8 nov. 2005 à 12:44
Bonjour Ploki,

J'ai essayé ta deuxième méthode car j'ai un bouton "suivant" sur chaque page.

ça marche pour les trois premiers (tennis, foot, rudby) mais plus à partir du quatrième.

si je ne coche pas les trois premiers choix et que je commence à partir du quatrieme (exemple volley) je n'ai rien qui s'affiche. mon ordre est ignoré. (c'est pareil pour les autres qui suivent)

C'est normal?

Faut bien commencer un jour...
0
Rejoignez-nous