[MACRO] Select case

Bonjour,

J'ai beau chercher, je ne trouve pas de solution ...

Comme c'est un fichier confidentiel je donnes un exemple "Imaginaire"

Dans ma Feuil1 j'ai une cellule "Options" (pour un Nombre d'affichage)

Exemple :

En A1 je vais mettre un nombre

Ensuite

Je clique sur un bouton pour appeler ma macro .

Jusque là tout va bien !

Dans ma macro je voudrais mettre un "select case" (car les options sont nombreuses)

X=Sheets("Feuil1").Range("A1").Value

Select case X

Case 1 Range("B2").Value="Il"

Case 2 Range("B2").Value=Range("B2").Value & "était"

Case 3 Range("B2").Value=Range("B2").Value & "une"

Case 4 Range("B2").Value=Range("B2").Value &"fois"

Etc ...

Ce que je cherche à récupérer c'est si en A1 je mets "1"

Je voudrais récupérer "Il"

Ce que je cherche à récupérer c'est si en A1 je mets "2"

Je voudrais récupérer "Il était"

Ce que je cherche à récupérer c'est si en A1 je mets "3"

Je voudrais récupérer "Il était une"

Ce que je cherche à récupérer c'est si en A1 je mets "4"

Je voudrais récupérer "Il était une fois"

etc.

Pourquoi un Select case ? : j'ai vu sur des forums lorsque nous avons beaucoup de conditions il est mieux de passer par un select case.

Si vous avez une idées autre que le select case je suis preneur

Ou mieux encore si vous avez la solution à mon problème , un grand merci d'avance.

Bonne journée

Eric

Bonjour,

Voici deux exemples parmi tant d'autres :

Sub AvecChoose()

    Dim X As Integer
    Dim Retour As String

    X = Sheets("Feuil1").Range("A1").Value

    Retour = Choose(X, "Il", "était", "une", "fois")

    MsgBox Retour

End Sub

Sub AvecSelect()

    Dim X As Integer
    Dim Retour As String

    X = Sheets("Feuil1").Range("A1").Value

    Select Case X

        Case 1: Retour = "Il"
        Case 2: Retour = "était"
        Case 3: Retour = "une"
        Case 4: Retour = "fois"

    End Select

    MsgBox Retour

End Sub

Bonjour, Salut Theze !

A essayer :

Sub Test()
    Dim tx, x%, i%
    tx = Split("Il était une fois ")
    With Worksheets("Feuil1")
        x = .Range("A1")
        For i = x To UBound(tx)
            tx(i) = ""
        Next i
        .Range("B2") = Trim(Join(tx))
    End With
End Sub

Merci Theze et MFerrand pour votre aide,

Ton exemple avec ton Select Case m’intéresse seulement il m'affiche uniquement le "fois" si en A1 j'ai 4

Je voudrais qu'il m'affiche les cases 1,2,3 et 4 "Il était une fois"

Les autres solutions ne vont pas aller car j'ai trop d'informations à mettre alors que Select case je peux créer plusieurs lignes

Voici en gros ce que j'ai comme conditions si l'on choisis le 1

  Sheets("Accueil").Range("E21").Value = "=COUNTIFS(" & info & "!C[11],""Poste 1"")"
  Sheets("Accueil").Range("D23").Value = "=COUNTIFS(" & info & "!C[9],""OK""," & NumeroMoteur & "!C[12],""Poste 2"")"
  Sheets("Accueil").Range("D25").Value = "=COUNTIFS(" & info & "!C[9],""UNKN.""," & NumeroMoteur & "!C[12],""Poste 3"")"
  Sheets("Accueil").Range("D27").Value = "=COUNTIFS(" & info & "!C[9],""SKIP""," & NumeroMoteur & "!C[12],""4"")"

Merci pour votre aide

Rechercher des sujets similaires à "macro select case"