[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
    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
      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.