
La fonction `Choose` en VBA est utilisée pour sélectionner et renvoyer une valeur à partir d’une liste d’arguments en fonction d’un index spécifié. C’est une alternative simple pour récupérer des valeurs dans un ensemble connu, plutôt que d’utiliser une structure plus complexe comme `Select Case`.
Voici comment utiliser la fonction `Choose` :
Syntaxe
Choose(Index, Choice1, [Choice2, ... ChoiceN])
- Index : Un nombre indiquant quelle de ses valeurs la fonction doit choisir. Si l’index n’est pas un entier valide ou qu’il est en dehors des limites (par exemple, inférieur à 1 ou supérieur au nombre de choix), `Choose` renvoie `Null`.
- Choice1, Choice2, … ChoiceN : Une liste de valeurs parmi lesquelles choisir. Elles peuvent être des chaînes, des nombres, ou toute autre expression.
Exemple
Voici un exemple simple montrant comment utiliser `Choose` dans une macro VBA :
Sub ExempleChoose()
Dim jourIndex As Integer
Dim nomJour As String
' Mettre l'index du jour (1 pour Lundi, 2 pour Mardi, etc.)
jourIndex = 3
' Utilisation de Choose pour récupérer le nom du jour en fonction de l'index
nomJour = Choose(jourIndex, "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi", "Dimanche")
' Afficher le nom du jour
MsgBox "Le jour numéro " & jourIndex & " est " & nomJour
End Sub
Points importants
- Index Commence à 1 : L’index dans `Choose` commence à 1, pas 0. Assurez-vous que votre index respecte cette règle, sinon vous obtiendrez une valeur `Null`.
- Limitation : `Choose` est idéal pour une sélection simple à partir d’une liste fixe de choix. Si vous avez besoin de logique plus complexe (par exemple, si vous avez besoin de traiter des conditions ou de plus grandes listes dynamiques), envisagez d’autres structures de contrôle comme `Select Case` ou `If…ElseIf`.
En utilisant `Choose`, vous pouvez simplifier le code et le rendre plus lisible dans les situations où une sélection directe parmi des valeurs connues est nécessaire.