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