XL 2019 Select case comparaison de 2 variables (en réalité plusieurs...)

Leskwal

XLDnaute Occasionnel
Bonsoir,

je souhaite par la commande "Select case" comparer, dans l'exemple, 2 variables
Dans un premier temps, l'exemple ci-dessous fonctionne :

VB:
' TEST de la SELECTION
    Select Case REP_SELECTIONNEE
    
' Si EGAL à SELECTION - INITIALISATION

        Case Is = Sheets("BDD").Range("O3").Value

                Msgbox ("Même valeur")


Cependant, si je nomme : Sheets("BDD").Range("O3").Value en POSSIBILITE_1, ça ne fonctionne plus (problème de syntaxe ?)

VB:
' TEST de la SELECTION
    Select Case REP_SELECTIONNEE
    
' Si EGAL à SELECTION - INITIALISATION
        
Case Is = POSSIBILITE_1
                
                Msgbox ("Même valeur")

Merci d'avance pour votre aide

Pascal
 

patricktoulon

XLDnaute Barbatruc
Bonjour à tous

c'est vague comme demande

c'est quoi le but du select case
comparer une valeur(la quelle) à la valeur de quelle cellule?

en general perso je remplace les case IS par un select case True

dim valeur
valeur ='ta valeur
select case True

case valeur = sheets("BDD")[o3].value

case valeur = sheets("BDD")[P3].value

case valeur = sheets("BDD")[Q3].value

etc...

end select
 

Leskwal

XLDnaute Occasionnel
Bonjour à tous,

Merci pour toutes vos réponses.

Celle de "TooFatBoy" fonctionne parfaitement. Les fameux [ ] auxquels je n'avais pas pensé.

Pourquoi ma demande ?
Pour que mon code soit propre et lisible.

En effet, l'utilisateur doit renseigner plusieurs "listbox".
Les réponses sont stockées dans des cellules auxquelles j'associe un nom.
J'aurais aussi pu créer des variables avec un nom significatif prenant la valeur sélectionnée pour chacune des "list" mais bon j'ai choisi de stocker les valeurs dans des cellules.
Est-ce le bon choix ... ?

Bref, utilisant des "Select Case" imbriqués à d'autres "Select Case" et donc de nombreuses valeurs de cellules à comparer,

POSSIBILITE_1 me semble plus lisible que
Sheets("BDD").Range("O3").Value

Bon quand il y'a 2, 3 valeurs à comparer du type :
Sheets("BDD").Range("O3").Value => OK,
mais lorsqu'il y'en a une trentaine, leur donner un nom rend le code plus lisible, mais c'est juste mon avis 😁😜.

Quoiqu'il en soit je vous remercie tous, à nouveau.
Très belle journée à vous et aussi, peut-être, de très belles vacances.
Pascal
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 107
Messages
2 085 354
Membres
102 872
dernier inscrit
YvanCB