[VBA] LIKE "*...*" dans un Select Case

Résolu/Fermé
chossette9 Messages postés 4239 Date d'inscription lundi 20 avril 2009 Statut Contributeur Dernière intervention 12 septembre 2014 - 17 juin 2011 à 09:54
chossette9 Messages postés 4239 Date d'inscription lundi 20 avril 2009 Statut Contributeur Dernière intervention 12 septembre 2014 - 17 juin 2011 à 13:52
Bonjour,

j'ai actuellement un fichier avec une macro qui me permet de traiter mon classeur.
A un endroit de mon code, j'ai :
If Cells(k, 5) Like "*Document commercial*" Then
...
ElseIf Cells(k, 5) Like "*Indiquez un titre autorisé*" Then
...
End If


Est-ce possible de remplacer ceci par un :
Select case Cells(k,5)
Case "*Document commercial*"
...
Case "*Indiquez un titre autorisé*"
...
End Select
?

Merci d'avance pour vos réponses !



4 réponses

Ctesias Messages postés 724 Date d'inscription lundi 16 mai 2011 Statut Membre Dernière intervention 1 décembre 2011 36
17 juin 2011 à 09:55
La réponse viens en testant =)
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
17 juin 2011 à 11:52
Bonjour Chossette,

Non, ce n'est malheureusement pas possible
pour éviter une suite de IF tu pourrais peut-^tre feinter

Sub chossette()

liste = Array("Document commercial", "Indiquez un titre autorisé")

For cptr = 0 To UBound(liste)
     If Cells(2, 5) Like "*" & liste(cptr) & "*" Then
          retour = liste(cptr)
          Exit For
     End If
Next

Select Case retour
Case Is = "Document commercial"
     MsgBox "commercial"
Case Is = "Indiquez un titre autorisé"
     MsgBox "titre"
Case Else
     MsgBox "perdu"
End Select

End Sub

Ps: n'oublie pas quand m^me le "=" après case ;o)
0
chossette9 Messages postés 4239 Date d'inscription lundi 20 avril 2009 Statut Contributeur Dernière intervention 12 septembre 2014 1 306
17 juin 2011 à 13:52
Ok michel, je testerais cette méthode et te dirais si c'est bon.

pour ta remarque sur le = dans le Select case, ce n'est valable que si je mets le "Is", mais je ne suis pas obligé de mettre le "Is" ?

Du coup, je vais quand même mettre la question en résolue, car tu as bien répondu à la quesiton initiale.

Cordialement.
0
chossette9 Messages postés 4239 Date d'inscription lundi 20 avril 2009 Statut Contributeur Dernière intervention 12 septembre 2014 1 306
17 juin 2011 à 10:35
Oui c'est pas faux, mais j'aurais aimé avoir l'avis d'experts avant :D
-1
Ctesias Messages postés 724 Date d'inscription lundi 16 mai 2011 Statut Membre Dernière intervention 1 décembre 2011 36
17 juin 2011 à 10:35
Le mieux, c'ets de tester, et si ca marche pas, de demander aux experts" ou se trouve l'erreur et si ca peut marcher xD
-1