Problème grisage des zones+VB

Fermé
zineb87 Messages postés 24 Date d'inscription jeudi 14 février 2008 Statut Membre Dernière intervention 20 juillet 2009 - 9 sept. 2008 à 16:38
zineb87 Messages postés 24 Date d'inscription jeudi 14 février 2008 Statut Membre Dernière intervention 20 juillet 2009 - 9 sept. 2008 à 17:37
Bonjour,

j'ai à faire une recherche multicritère ,j'ai deux listboxs une où il y'a les différents champs qui éxistent et la deuxième initialement vide,j'arrive à selectionner de la première et faire passer les propriétés à la deuxième,lors de la selection... jusqu'à maintenant c'est bon ...
maintenant prenons l'exemple du facteur age ,le textbox correspondant et lors de la sélection du dit critère ne doit plus demeurer grisé ,de même pour les autres propriétés...,le problème c'est qu'avec mon code j'arrive pas à griser la bonne zone de texte ,et si je déselectionne ,les autres zones restent toujours grisés ....

voilà le code:

Private Sub ListBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListBox1.SelectedIndexChanged
        If ListBox2.SelectedItem = "Age" Then
            cmbage.Enabled = True
        Else
            If ListBox2.SelectedItem = "Etablissement" Then
                cmbeta.Enabled = True
            Else
                If ListBox2.SelectedItem = "Genre" Then
                    Cmbgenre.Enabled = True
                Else
                    If ListBox2.SelectedItem = "Immatriculation" Then
                        Txtimm.Enabled = True
                    Else
                        If ListBox2.SelectedItem = "Marque" Then
                            cmbmarq.Enabled = True
                        Else
                            If ListBox2.SelectedItem = "N° d'ordre" Then
                                Txtnor.Enabled = True
                            Else
                                If ListBox2.SelectedItem = "N° de chassis" Then
                                    Txtchas.Enabled = True
                                Else
                                    If ListBox2.SelectedItem = "N° de WWW" Then
                                        Txtw.Enabled = True
                                    Else
                                        If ListBox2.SelectedItem = "Nom du bénéficiaire" Then
                                            Txtbf.Enabled = True
                                        Else
                                            If ListBox2.SelectedItem = "Nom du chauffeur" Then
                                                Txtchf.Enabled = True
                                            Else
                                                If ListBox2.SelectedItem = "Secteur d'activité" Then
                                                    CmbectAC.Enabled = True
                                                Else
                                                    CmbectAC.Enabled = False
                                                End If
                                                Txtbf.Enabled = False
                                            End If
                                            Txtw.Enabled = False
                                        End If
                                        Txtchas.Enabled = False
                                    End If
                                    Txtnor.Enabled = False
                                End If
                                cmbmarq.Enabled = False
                            End If
                            Txtimm.Enabled = False
                    End If
                    Cmbgenre.Enabled = False
                End If
                cmbeta.Enabled = False
            End If
            cmbage.Enabled = False
            End If
            cmbage.Enabled = False
        End If
    End Sub



en ésperant que vous pouvez m'indiquer que faire !!

Cordialement
A voir également:

3 réponses

Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
9 sept. 2008 à 16:53
Bonjour,

C'est illisible tel quel :o/

Tu devrais utiliser un select case :

Private Sub ListBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListBox1.SelectedIndexChanged

   Select Case ListBox2.SelectedItem 
      Case "Age"
         cmbage.Enabled = True
         cmbeta.Enabled = False
         '... 
     Case "Etablissement"
         cmbeta.Enabled = True
         cmbage.Enabled = False
         '....
' ...etc ...
   Select End
End Sub


;o)
1
zineb87 Messages postés 24 Date d'inscription jeudi 14 février 2008 Statut Membre Dernière intervention 20 juillet 2009 1
9 sept. 2008 à 16:56
Merciiii pour votre rapide réponse,vraiment merci
je vais l'essayer tout de suite
@+
1
zineb87 Messages postés 24 Date d'inscription jeudi 14 février 2008 Statut Membre Dernière intervention 20 juillet 2009 1
9 sept. 2008 à 17:37
ça marche à merveille,MERCI
sauf que j'ai à faire la recherche multicritère, donc quand j'ai deux critères dans la listebox2 l'une des zones de textes reste grisée and so on si j'ai 3 ...(à l'imaginer j'avais en tête de n'avoir comme grisées que les zones de texte des critères que j'ai pas souhaités )
vous croyez que ça ne va pas influencer sur la recherche ??
merci
1