Egalité entre une valeur d'une liste déroulante et une cellule excel

Résolu
Eijih Messages postés 5 Date d'inscription jeudi 2 juin 2005 Statut Membre Dernière intervention 10 juin 2005 - 7 juin 2005 à 18:26
Eijih Messages postés 5 Date d'inscription jeudi 2 juin 2005 Statut Membre Dernière intervention 10 juin 2005 - 8 juin 2005 à 08:17
Bonjour,
Je n'arrive pas à vérifier une égalité entre la valeur d'une liste déroulante et la valeur d'une cellule excel (v 2000).C'est surtout le corps du code qui me pose problème. Si quelqu'un pouvait m'aider ca serait sympa :D.
Je vous remercie d'avance ;).

Le code est le suivant et la partie qui me pose problème est en gras :

Private Sub cbx_typetvx_Change()
Dim i As Integer
i = 2
'condition si énergie gaz
If cbx_typetvx.Value = ThisWorkbook.Worksheets("typetvx").Range("A2").Value Then
'Boucle pour remplir les champs de la liste déroulante des différents types de travaux gaz
cbx_zone.Enabled = True
Do While ThisWorkbook.Worksheets("zone").Range("B" & i) <> ""
frm_choixnrj.cbx_zone.AddItem ThisWorkbook.Worksheets("zone").Range("B" & i)
i = i + 1
Loop
cbx_typetvx.Enabled = False
End Sub

Eijih

3 réponses

mrdep1978 Messages postés 402 Date d'inscription jeudi 25 novembre 2004 Statut Membre Dernière intervention 7 juin 2009 7
7 juin 2005 à 23:06
Tu utilises peut-être plusieurs colonnes dans ta combobox. Dans ce cas, il est possible que la valeur renvoyée par .Value (pas forcément celle affichée) diffère de celle renvoyée par .Text (affichage).

Il y a une propriété BoundColumn qui définit le numéro de la colonne d'où vient le .Value et une propriété .TextColumn pour celle du .Text.
jpleroisse Messages postés 1788 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 11 mars 2006 27
7 juin 2005 à 20:37
Bonsoir,

Cela fonctionne très bien.



Private Sub cbx_typevx_Change()

Dim i

i = 2

If cbx_typetvx.Value = Sheets("typetvx").Range("A2").Value Then

cbx_zone.Enabled = True

End If

Do While Sheets("zone").Range("B" & i) <> ""

cbx_zone.AddItem Sheets("zone").Range("B" & i)

i = i + 1

Loop

cbx_typevx.Enabled = False

End Sub



jpleroisse
Eijih Messages postés 5 Date d'inscription jeudi 2 juin 2005 Statut Membre Dernière intervention 10 juin 2005
8 juin 2005 à 08:17
Re bonjour,
J'ai juste changé le .Value en .Text et ca marche.
Merci beaucoup pour l'aide ;).

Private Sub cbx_typetvx_Change()
Dim i As Integer
i = 2
'condition si énergie gaz
If cbx_typetvx.Text = ThisWorkbook.Worksheets("typetvx").Range("A2").Value Then
'Boucle pour remplir les champs de la liste déroulante des différents types de travaux gaz
cbx_zone.Enabled = True
Do While ThisWorkbook.Worksheets("zone").Range("B" & i) <> ""
frm_choixnrj.cbx_zone.AddItem ThisWorkbook.Worksheets("zone").Range("B" & i)
i = i + 1
Loop
cbx_typetvx.Enabled = False
End Sub

Eijih
Rejoignez-nous