VBA - "Select case" Ne fonctionnant pas

Bonjour,

Voici mon problème :
Si A1 = 1 -> Afficher "Choix 1" en B1
Si A1 = 2 -> Afficher "Choix 2" en B1
Si A1 = 3 -> Afficher "Choix 3" en B1
Si A1 = Valeur différente de 1,2,3 -> Afficher "Choix 4" en B1

Grace à un membre du forum que je remercie nous sommes arrivés à ce point là :

Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Application.Intersect(Target, Range("A1")) Is Nothing Then
        testSelectCase
    End If
End Sub
Sub testSelectCase()

Dim a As Integer
    a = Range("A1").Value

    Select Case a
        Case 1
            Range("B1") = "Choix 1"
        Case 2
            Range("B1") = "Choix 2"
        Case 3
            Range("B1") = "Choix 3"
        Case Else
            Range("B1") = "Choix 4"
       End Select
End Sub

Le problème est que la cellule A1 est alimenté par une fonction.

=SIERREUR(INDEX(B15:AF100;AM2-14;30);0)

Et le code ne marche que si la cellule A1 contient une valeur.

Pour que cela soit plus clair je vous met un fichier en pièce jointe.

6olivier-tp.xlsm (19.54 Ko)

Sur la feuille 1 :
A1 et une liste déroulante affichant des chiffres de 1 à 5 et le code marche.

Sur la feuille 2 :

A1 est une fonction aléatoire entre borne (De 1 à 5) pour simuler ma fonction en appuyant sur F9.
Et le code ne marche pas.

Je vous remercie par avance.

Cordialement.

Bonjour

Avec une valeur aléatoire tout se recalcule sans fin...

Bonjour Olivier TP, Salut 78Chris,

Et la procédure worksheet_change ne fonctionne pas sur le résultat d'une formule. Il faudrait worksheet_calculate plutôt pour ce cas.

Cdlt,

Je vois 3GB...

Normal qu'on ne soient arrivés à rien ^^"

Rechercher des sujets similaires à "vba select case fonctionnant pas"