VBA Select Case et opérateur Like

- Introduction
- Select Case & Like le test
- testexpression : True
- Une fonction Boolean fort utile
- Conclusion
Introduction
Si vous êtes arrivés ici, vous le savez par vos tests, Select Case n'admet pas l'opérateur Like. Il existe pas mal de méthodes pour contourner ce souci, notamment avec des If ElseIf etc...Cependant, celle proposée ici devrait permettre de solutionner quelques cas.
Select Case & Like le test
Essayez le code suivant, pour vérifier l'affirmation de l'introduction.Sub Select_Case_Like() mot = "KAKAO" Select Case mot Case mot Like "*K*K*" MsgBox "bon" Case Else MsgBox "pas bon" End Select End Sub
Quelque soit le contenu de la variable mot, il renverra toujours "pas bon"...
Select Case n'aime donc pas Like.
testexpression : True
La solution, afin d'utiliser l'opérateur Like dans un Select Case, est d'ajouter l'expression True.Voici un code exemple :
Sub Select_Case_True_Like() mot = "KAO" Select Case True Case mot Like "*K*K*" MsgBox "bon" Case Else MsgBox "pas bon" End Select mot = "KAKAO" Select Case True Case mot Like "*K*K*" MsgBox "bon" Case Else MsgBox "pas bon" End Select End Sub
Une fonction Boolean fort utile
La fonction
Function Case_True_Like(mot As String) As Boolean Select Case True Case mot Like "*K*K*" Case_True_Like = True Case Else Case_True_Like = False End Select End Function
L'appel de cette fonction
Sub Test() MsgBox Case_True_Like("KAKAO") End Sub
Conclusion
Cet article ne propose qu'une alternative à If ElseIf.Elle est utile dans les cas ou, préférant Select Case, il est indispensable de tester avec Like...
Ce document intitulé « VBA Select Case et opérateur Like » issu de Comment Ça Marche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.