Bonjour à toutes et tous !

N'ayant rien trouvé de concluant à ce sujet...

Admettons que je dispose de plusieurs variables booléennes.

Je souhaite que, lorsque l'une est à True, toutes les autres passent à False.

Ça pourrait donner ça :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
Sub Bascule()
    If booToto Then
        booTiti = False
        booTata = False
    ElseIf booTiti Then
        booToto = False
        booTata = False
    Else
        booToto = False
        booTiti = False
    End If
End Sub
Rien de bien méchant me direz-vous...
Ben maintenant on refait la même avec... 50 variables !

A titre indicatif, ça fait 50x50 possibilités + 1 ligne pour le END IF = 2501 lignes de code juste pour faire une sorte d'interrupteur global

Donc, existe-t-il une instruction inconnue de moi qui ressemblerait à INDIRECT() de la feuille Excel et qui permettrait de passer en paramètre le nom de la variable à laquelle affecter une valeur, genre VARIABLE(booToto)=True, ce qui permettrait de stocker une fois le nom des variables dans un tableau, puis de faire une boucle sur le-dit tableau...

Ça réduirait à 50 tests contenant chacun une boucle For Each de 3 lignes, ce qui paraît nettement moins fastidieux et encombrant.


Messieurs-Dames, je suis impatient de recevoir vos idées !