Passer un opérateur en variable

cs_eren Messages postés 38 Date d'inscription vendredi 3 janvier 2003 Statut Membre Dernière intervention 27 novembre 2008 - 2 févr. 2003 à 16:09
cs_PROGRAMMIX Messages postés 1133 Date d'inscription mercredi 2 octobre 2002 Statut Membre Dernière intervention 24 juillet 2011 - 2 févr. 2003 à 18:16
Je récupère d'une ComboBox une variable correspondant à ma sélection
' Récupération de l'opérateur
If Me.cboOperateur.ListIndex = 0 Then
Operateur = "<>"
ElseIf Me.cboOperateur.ListIndex = 1 Then
Operateur = "="
ElseIf Me.cboOperateur.ListIndex = 2 Then
Operateur = ">"
Else: Operateur = "<"
End If

Ensuite, je souhaite remplacer dans la ligne de code suivante, l'opérateur
(= en dur) par la variable operateur

If CHAINE_TEST = "01MO" Then ...
remplacé par ...
If CHAINE_TEST & operateur & "01MO" Then ...

mais cela ne fonctionne pas (erreur 13)

1 réponse

cs_PROGRAMMIX Messages postés 1133 Date d'inscription mercredi 2 octobre 2002 Statut Membre Dernière intervention 24 juillet 2011 2
2 févr. 2003 à 18:16
En faisant cela, ton If ne sera jamais vérifié puisqu'en fait tu construit une chaine de caractères.

Le mieux serait d'utiliser Select Case ou de faire un test sur ton opérateur...
If Operateur = "=" Then
[CODE]
ElseIf Operateur = "<>" Then
[CODE]
ElseIf Operateur = ">" Then
....ETC....

OU

SELECT CASE Operateur
Case "="
[CODE]
Case "<>"
[CODE]
....ETC.....

DONC autant simplifier le tout et faire une vérification sur Me.cboOperateur.ListIndex...
If cboOperateur.ListIndex = 0 Then
[CODE]
....ETC....
0
Rejoignez-nous