Comment recupérer la valeur d'une variable ?

cs_budylove Messages postés 10 Date d'inscription jeudi 6 mai 2004 Statut Membre Dernière intervention 4 juillet 2007 - 20 févr. 2006 à 14:03
domsig Messages postés 125 Date d'inscription lundi 6 septembre 2004 Statut Membre Dernière intervention 11 mai 2010 - 21 févr. 2006 à 08:56
bonjour



je suis entrain de realiser une application indus. l'utilisateur doit parametrer des sonde de température.



J'ai quattre sonde et quattre type de reglage par sonde



J'ai donc diviser en 4 groupe de 4 options



je recupere ainsi la sensibilité entrée.



Au lieu de faire ca j'aimerai faire quelque chose de plus propre



'sonde1

If Option_Temp_1_Resol_1 Then Sonde_1_Resol = "00"

If Option_Temp_1_Resol_2 Then Sonde_1_Resol = "01"

If Option_Temp_1_Resol_3 Then Sonde_1_Resol = "10"

If Option_Temp_1_Resol_4 Then Sonde_1_Resol = "11"

Sonde_1_Type = Left(Right(Combo_Type_Sonde_1.Text, 5), 4)

'sonde2

If Option_Temp_2_Resol_1 Then Sonde_2_Resol = "00"

If Option_Temp_2_Resol_2 Then Sonde_2_Resol = "01"

If Option_Temp_2_Resol_3 Then Sonde_2_Resol = "10"

If Option_Temp_2_Resol_4 Then Sonde_2_Resol = "11"

Sonde_2_Type = Left(Right(Combo_Type_Sonde_2.Text, 5), 4)

'sonde3

If Option_Temp_3_Resol_1 Then Sonde_3_Resol = "00"

If Option_Temp_3_Resol_2 Then Sonde_3_Resol = "01"

If Option_Temp_3_Resol_3 Then Sonde_3_Resol = "10"

If Option_Temp_3_Resol_4 Then Sonde_3_Resol = "11"

Sonde_3_Type = Left(Right(Combo_Type_Sonde_3.Text, 5), 4)

'sonde4

If Option_Temp_4_Resol_1 Then Sonde_4_Resol = "00"

If Option_Temp_4_Resol_2 Then Sonde_4_Resol = "01"

If Option_Temp_4_Resol_3 Then Sonde_4_Resol = "10"

If Option_Temp_4_Resol_4 Then Sonde_4_Resol = "11"

Sonde_4_Type = Left(Right(Combo_Type_Sonde_4.Text, 5), 4)







genre ca :



je voudrais qu'a chaque changement de ma valeur "I" il scrute automatiquement les valeur .



Dim I As Long

Dim Sonde_Resol(1 To 4) As Long







For I = 1 To 4

If Option_Temp_"I"_Resol_1.Value = True Then

Sonde_Resol(I) = "00"

Else

If Option_Temp_"I"_Resol_2.Value = True Then

Sonde_Resol(I) = "01"

Else

If Option_Temp_"I"_Resol_3.Value = True Then

Sonde_Resol(I) = "10"

Else

If Option_Temp_"I"_Resol_4.Value = True Then


Sonde_Resol(I) = "11"

Else


MsgBox ("vous n'avez pas précisé les informations pour la sonde" &
Str(I))

End If

End If

End If

End If

' Sonde_% I_Type = Left(Right(Combo_Type_Sonde_%I.Text, 5), 4)

MsgBox Sonde_Resol(I)

Next







Ceci est ma premiere application en vb alors excusez moi si c'est confut.



amicalement

6 réponses

jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
20 févr. 2006 à 14:08
Salut,

Ce que tu souhaite faire n'est pas possible (que les experts me corrigent si je me trompe)

En revanche ce que tu peux faire c'est creer des matrices de controles qui te permettront de jouer avec les index comme tu le desires

@+
Julien
____________________________
Ne pas oublier:
- le Moteur de recherche
- le "réponse acceptée" &nbs
0
Utilisateur anonyme
20 févr. 2006 à 14:18
Bonjour,

Si c'est possible: Me.Controls("LeNomDuControle")

Dim I As Long
Dim Sonde_Resol(1 To 4) As Long

For I = 1 To 4
Dim Option_Temp_X_Resol_1 As OptionButton
Set Option_Temp_X_Resol_1 = Me.Controls("Option_Temp_" & I & "_Resol_1")
If Option_Temp_X_Resol_1.Value = True Then
Sonde_Resol(I) = "00"
Else
Dim Option_Temp_X_Resol_2 As OptionButton
Set Option_Temp_X_Resol_2 = Me.Controls("Option_Temp_" & I & "_Resol_2")
If Option_Temp_X_Resol_2.Value = True Then
Sonde_Resol(I) = "01"
Else
Dim Option_Temp_X_Resol_3 As OptionButton
Set Option_Temp_X_Resol_3 = Me.Controls("Option_Temp_" & I & "_Resol_3")
If Option_Temp_X_Resol_3.Value = True Then
Sonde_Resol(I) = "10"
Else
Dim Option_Temp_X_Resol_4 As OptionButton
Set Option_Temp_X_Resol_4 = Me.Controls("Option_Temp_" & I & "_Resol_4")
If Option_Temp_X_Resol_4.Value = True Then
Sonde_Resol(I) = "11"
Else
MsgBox ("vous n'avez pas précisé les informations pour la sonde" & Str(I))
End If
End If
End If
End If
' Sonde_% I_Type = Left(Right(Combo_Type_Sonde_%I.Text, 5), 4)
MsgBox Sonde_Resol(I)
Next

Mais la méthode des index est préférable. Ca rendra le code beaucoup plus simple.

Kenji
<hr size="2" width="100%">
Merci de cliquer sur "Réponse acceptée" si une réponse vous convient.
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
20 févr. 2006 à 14:22
Re,

Oups je suis confut, c est une methode que j oublie tout le temps.

Desole pour la fausse information.

@+
Julien
____________________________
Ne pas oublier:
- le Moteur de recherche
- le "r&
0
cs_budylove Messages postés 10 Date d'inscription jeudi 6 mai 2004 Statut Membre Dernière intervention 4 juillet 2007
20 févr. 2006 à 14:29
merci de vos reponses je veux bien essayer si c'est mieux d'utiliser la matrice avec les index mais je ne sais pas comment ..



je debute reelement en vb
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_budylove Messages postés 10 Date d'inscription jeudi 6 mai 2004 Statut Membre Dernière intervention 4 juillet 2007
20 févr. 2006 à 14:36
voila a quoi ca ressemble.



comment faire puisque j'ai besion de savoir qu'elle option il a choisit ? puisque les options on le meme nom ?
0
domsig Messages postés 125 Date d'inscription lundi 6 septembre 2004 Statut Membre Dernière intervention 11 mai 2010
21 févr. 2006 à 08:56
je ne comprends pas l'utilité de la liste déroulante dans chacun des 4 frames ? il y a du code derrière ?


disons que dans le frame1 tu as 4 options, opt_01C_1, opt_1C_1, opt_01F_1, opt_1F_1, dans le frame2 opt_01C_2, opt_1C_2, opt_01F_2, opt_1F_2, etc
il te suffit de tester lequel a la valeur true pour savoir ce qui a été choisi non ?
0
Rejoignez-nous