Ecrire une confition avec plusieurs ou

Bonsoir

existe t il en vba une maniere simple de condenser une instruction comportant plusieurs "ou" plutot que d'ecrire systématiquement

a ou b ou c ou d ...etc ? ( a,b,c,d,...) etant les conditions .

Merci pour vos réponses

Bonsoir,

Un exemple ?

Bonsoir Mferrand

voila un exemple

Option Base 1
Sub mdp()
Dim tablo1(), tablo2() As Variant
Dim mdp1, mdp2 As String
Dim n As Integer
tablo1 = Array("a", "b", "c", "d")
tablo2 = Array("alpha", "beta", "ceti", "deka")
MsgBox tablo1(2) & " " & tablo2(2)
mdp1 = InputBox("Saisie identifiant : ", "Ident.")
mdp2 = InputBox("Saisie mot de passe : ", "mdp.")

    If (mdp1 Like tablo1(1) And mdp2 Like tablo2(1)) Or _
    (mdp1 Like tablo1(2) And mdp2 Like tablo2(2)) Or _
    (mdp1 Like tablo1(3) And mdp2 Like tablo2(3)) Or _
    (mdp1 Like tablo1(4) And mdp2 Like tablo2(4)) Then
         MsgBox "saisie correct"
             Else
         MsgBox "mdp incorrect"
   End If
End Sub

je souhaitais reduire l'ecriture des "ou " qu'on peut voir de facon assez repetitive dans mon code

OK !

Dans un tel cas tu fais une boucle 1 à 4. Exemple :

For i = 1 To 4
    If (mdp1 Like tablo1(i) And mdp2 Like tablo2(i)) Then
        MsgBox "saisie correct"
        Exit For
    End If
Next i
If i > 4 Then MsgBox "mdp incorrect"

ou en utilisant une variable booléenne en relais :

For i = 1 To 4
    If (mdp1 Like tablo1(i) And mdp2 Like tablo2(i)) Then
        correct = True
        Exit For
    End If
Next i
MsgBox IIf(correct, "saisie correct", "mdp incorrect")

[nb- Là il manque les commandes de ce qui est fait dans chacun des cas ! ]

Cordialement

Ferrand

Un grand merci pour ces solutions Mferrand ..en effet une petite boucle faisait l'affaire je vais regarder tout ca de prè ...merci

Rechercher des sujets similaires à "ecrire confition"