mais le problème est que pour l'entretien, i peut prendre des valeurs entre 0 et 9 et pour la tenue de route, i peut prendre des valeurs entre 0 et 3
avec ce que j'ai fait, dans ma listbox1 si je sélectionne la première ligne (0) tout s'affiche comme il faut dans mes autres listbox mais si je sélectionne les autres lignes ( (1) -> (9) ou (1) -> (3) ) rien ne se passe.
jordane45
Messages postés38241Date d'inscriptionmercredi 22 octobre 2003StatutModérateurDernière intervention17 septembre 2024345 29 déc. 2011 à 17:36
Bonjour,
Déjà, penses à utiliser les balises de code lorsque tu ecris ..du code dans le fofo...
ensuite, plutot que de passer par des If /else... je te conseillerai de regarder du côte des select case.
A1 = CStr(entretien(i).NomOpe)
A2 = CStr(tenue_de_route(i).NomOpe)
' Affichage dans la fenetre d'execution des valeurs des variables :
Debug.Print A1
Debug.Print A2
Debug.Print freinage.NomOpe
Debug.Print Echappement.NomOpe
'test de la valeur de la listbox1
Select Case UserForm1.ListBox1.Value
Case entretien(i).NomOpe
'...
Case A2
'...
Case freinage.NomOpe
'...
Case Echappement.NomOpe
'...
End Select
Ensuite est ce que tu veux que tes valeurs s'affichent au moment Où tu cliques dans ta listbox, ou apres avoir cliqué sur un bouton (une fois ta ligne selectionnée ) ?
Si c'est au moment du choix dans la listbox, il faut que tu mettes ton code dans :
Private Sub ListBox1_Change()
'Par exemple: affichage de la nouvelle valeur selectionnée :
MsgBox "val : " & ListBox1.Value
End Sub
Cordialement,
Jordane,
______________________________________________________
Règles du forum à lire avant de poster une question : ICI
liz739
Messages postés21Date d'inscriptionmercredi 28 décembre 2011StatutMembreDernière intervention30 décembre 2011 30 déc. 2011 à 10:23
Merci de votre réponse mais le problème persiste.
J'ai écrit précédemment :
Public Sub charger_ope_entretien()
entretien(0).NomOpe = "vidange"
entretien(1).NomOpe = "climatisation"
entretien(2).NomOpe = "filtre à huile"
entretien(3).NomOpe = "filtre à air"
entretien(4).NomOpe = "niv. lave glace"
entretien(5).NomOpe = "niv. liq. refroidissement"
entretien(6).NomOpe = "niv. liq. direction assistée"
entretien(7).NomOpe = "controle essuie-glaces"
entretien(8).NomOpe = "eclairage"
entretien(9).NomOpe = "nettoyage"
entretien(0).Cout = 10.1
entretien(1).Cout = 5
entretien(2).Cout = 8
entretien(3).Cout = 20
entretien(4).Cout = 15
entretien(5).Cout = 17
entretien(6).Cout = 10
entretien(7).Cout = 15
entretien(8).Cout = 15
entretien(9).Cout = 12
entretien(0).temps = 0.5
entretien(1).temps = 0.5
entretien(2).temps = 0.2
entretien(3).temps = 0.2
entretien(4).temps = 0.1
entretien(5).temps = 0.1
entretien(6).temps = 0.1
entretien(7).temps = 0.2
entretien(8).temps = 0.5
entretien(9).temps = 1
UserForm1.ListBox1.Clear
For i = 0 To 9
UserForm1.ListBox1.AddItem (entretien(i).NomOpe)
Next
End Sub
Public Sub charger_ope_tenue()
tenue_de_route(0).NomOpe = "changement pneus"
tenue_de_route(1).NomOpe = "pression pneus"
tenue_de_route(2).NomOpe = "changement amortisseurs"
tenue_de_route(3).NomOpe = "changement cardans"
tenue_de_route(0).Cout = 5
tenue_de_route(1).Cout = 10
tenue_de_route(2).Cout = 15
tenue_de_route(3).Cout = 20
tenue_de_route(0).temps = 0.5
tenue_de_route(1).temps = 0.1
tenue_de_route(2).temps = 1
tenue_de_route(3).temps = 2
UserForm1.ListBox1.Clear
For i = 0 To 4
UserForm1.ListBox1.AddItem (tenue_de_route(i).NomOpe)
Next
End Sub
et je n'ai toujours que les lignes correspondant à entretien(0).NomOpe "vidange" et tenue_de_route(0).NomOpe "changement pneus" qui fonctionne quand on les sélectionne.
sinon c'est quand je clic sur un bouton que la sélection doit s'afficher mais je n'ai pas de problème pour ça.