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

Résolu
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 !



--
Ce mec la n'était pas une lumière, car il était niais.

4 réponses

  1. Contributeur
    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)
    1. Contributeur
      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.
  2. 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. Contributeur
      Oui c'est pas faux, mais j'aurais aimé avoir l'avis d'experts avant :D