bonjour
dans VBA la fonction Like fonctionne quand je limite un champ compris entre 0 et 9 mais pas au delas
vous devrez comprendre dans ces exemples
Code:
Sub exemple1()
ma_variable = "5"
If ma_variable Like "[4-7]" Then ' => VRAI
MsgBox ("ok")
End If
End Sub
Sub exemple2()
ma_variable = "32"
If ma_variable Like "[30-40]" Then ' => FAUX!!
MsgBox ("ok")
End If
End Sub
c'est la méme procédure sauf les nombres qui changent
Bonsour®
parce que l'on parle de caractère (position unique) qui peut contenir la représentation d'un chiffre et non de nombre !!
Un groupe d'un ou plusieurs caractères (argument charlist) délimité par des crochets ([ ]) permet de sélectionner tout caractère unique de l'argument string
ex : like "[6-7]##[0-9]" ' comparaison de nombres de 6000 à 7999
ou bien :
like "4##[4-8]" ' tout nombre de 4 chiffres dans la séquence 4000 se terminant par 4, 5, 6, 7 ou 8
Ta variable n'est pas uniquement numérique ?
Si oui il ne faut pas la déclarer en chaine et tu peux utiliser Select Case :
Code:
Sub exemple1()
Dim ma_variable As Long
ma_variable = 5
Select Case ma_variable
Case 4 To 7
MsgBox "tranche 1"
Case 30 To 40
MsgBox "tranche 2"
Case Else
MsgBox "tranche je-sais-pas"
End Select
End Sub
La ville de Cuire fut rattachée à la ville de Caluire en 1790 J'ai simplement abrégé le nom de ma ville ou suis resté à cette époque.
ma_variable = "321"
If ma_variable Like "3[1-9]1" Then ' => vrai
ma_variable = "3"
If ma_variable Like "?" Then ' => vrai
Je pense que la fonction like, aux frontières du fonctionnement des expressions régulières à quand même son utilité en matière de recherche de format particulier.
Code:
Sub test()
v = "a3q"
If v Like "[a-z]?[a-z]" Then Debug.Print v
End Sub