Tableaux Excel VBA : qu'est-ce que c'est, comment les utiliser et les types de tableaux dans VBA
Qu’est-ce qu’un tableau VBA ?
Un tableau est défini comme un emplacement mémoire capable de stocker plusieurs valeurs. Les valeurs doivent toutes être du même type de données. Supposons que vous souhaitiez stocker une liste de vos boissons préférées dans une seule variable. Vous pouvez utiliser un tableau VBA pour ce faire.
En utilisant un tableau, vous pouvez faire référence aux valeurs associées portant le même nom. Vous pouvez utiliser un index ou un indice pour les distinguer. Les valeurs individuelles sont appelées éléments du tableau Excel VBA. Ils sont contigus depuis l’indice 0 jusqu’à la valeur d’indice la plus élevée.
Ce tutoriel suppose que vous utilisez Microsoft Excel version 2013. Les connaissances s'appliquent toujours aux autres versions de Microsoft Exceller également.
Quels sont les avantages des tableaux ?
Voici quelques-uns des avantages offerts par la fonction de tableau VBA
- Regroupez les données logiquement liées – disons que vous souhaitez stocker une liste d'étudiants. Vous pouvez utiliser une seule variable de tableau comportant des emplacements distincts pour les catégories d'élèves, par exemple jardin d'enfants, primaire, secondaire, lycée, etc.
- Les tableaux facilitent l'écriture de code maintenable. Pour les mêmes données logiquement liées, cela vous permet de définir une seule variable, au lieu de définir plusieurs variables.
- Meilleures performances : une fois qu'un tableau a été défini, il est plus rapide de récupérer, trier et modifier les données.
Types de tableaux dans VBA
VBA prend en charge deux types de tableaux, à savoir :
- Statique – Ces types de tableaux ont un nombre fixe prédéterminé d’éléments pouvant être stockés. On ne peut pas changer la taille du type de données d'un tableau statique. Celles-ci sont utiles lorsque vous souhaitez travailler avec des entités connues telles que le nombre de jours dans une semaine, le sexe, etc.Par exemple: Dim ArrayMonth(12) sous forme de chaîne
- Dynamique – Ces types de tableaux n’ont pas de nombre fixe prédéterminé d’éléments pouvant être stockés. Ceux-ci sont utiles lorsque vous travaillez avec des entités dont vous ne pouvez pas prédéterminer le nombre.Par exemple: Dim ArrayMonth() comme variante
Syntaxe pour déclarer des tableaux
Tableaux statiques
La syntaxe pour déclarer STATIC les tableaux sont les suivants :
Dim arrayName (n) as datatype
ICI,
Code | Action |
---|---|
Type de données Dim arrayName (n) |
|
Tableaux dynamiques
La syntaxe pour déclarer DYNAMIQUE les tableaux sont les suivants :
Dim arrayName() as datatype ReDim arrayName(4)
ICI,
Code | Action |
---|---|
Type de données Dim arrayName () |
|
Nom du tableau ReDim (4) |
|
Dimensions du tableau
Un tableau peut être à une dimension, à deux dimensions ou multidimensionnel.
- Une dimension: Dans cette dimension, le tableau n'utilise qu'un seul index. Par exemple, un certain nombre de personnes de chaque âge.
- Deux dimensions: Dans cette dimension, le tableau utilise deux index. Par exemple, un certain nombre d'élèves dans chaque classe. Il nécessite le nombre de classes et le nombre d'élèves dans chaque classe.
- Multidimensionnel: Dans cette dimension, le tableau utilise plus de deux index. Par exemple, les températures pendant la journée. ( 30, 40, 20).
Comment utiliser un tableau dans Excel VBA
Nous allons créer une application simple. Cette application remplit une feuille Excel avec les données d'une variable matricielle. Dans cet exemple de tableau VBA, nous allons faire les choses suivantes.
- Créer un nouveau Microsoft Classeur Excel et enregistrez-le en tant que classeur Excel prenant en charge les macros (*.xlsm)
- Ajouter un bouton de commande au classeur
- Définir les propriétés du nom et de la légende du bouton de commande
- Programmation du VBA qui remplit la feuille Excel
Faisons cet exercice étape par étape,
Étape 1 – Créer un nouveau classeur
- Open Microsoft Excel
- Enregistrez le nouveau classeur sous VBA Arrays.xlsm
Étape 2 – Ajouter un bouton de commande
Remarque: Cette section suppose que vous êtes familier avec le processus de création d'une interface dans Excel. Si vous n'êtes pas familier, lisez le tutoriel Contrôle de formulaire Excel VBA et contrôle ActiveX. Il vous montrera comment créer l'interface
- Ajouter un bouton de commande à la feuille
- Définissez la propriété name sur cmdLoadBeverages
- Définissez la propriété caption sur Load Beverages
Votre interface graphique devrait maintenant être la suivante
Étape 3 – Enregistrez le fichier
- Cliquez sur le bouton Enregistrer sous
- Choisissez Classeur Excel prenant en charge les macros (* .xlsm) comme indiqué dans l'image ci-dessous
Étape 4 – Écrivez le code
Nous allons maintenant écrire le code de notre application
- Faites un clic droit sur le bouton Charger les boissons et sélectionnez Afficher le code
- Ajoutez le code suivant à l'événement click de cmdLoadBeverages
Private Sub cmdLoadBeverages_Click() Dim Drinks(1 To 4) As String Drinks(1) = "Pepsi" Drinks(2) = "Coke" Drinks(3) = "Fanta" Drinks(4) = "Juice" Sheet1.Cells(1, 1).Value = "My Favorite Beverages" Sheet1.Cells(2, 1).Value = Drinks(1) Sheet1.Cells(3, 1).Value = Drinks(2) Sheet1.Cells(4, 1).Value = Drinks(3) Sheet1.Cells(5, 1).Value = Drinks(4) End Sub
ICI,
Code | Action |
---|---|
Dim Drinks (1 à 4) sous forme de chaîne |
|
Boissons(1) = « Pepsi » |
|
Sheet1.Cells(1, 1).Value = « Mes boissons préférées ». |
|
Sheet1.Cells(2, 1).Value = Boissons(1) |
|
Tester notre application
Sélectionnez l'onglet Développeur et assurez-vous que le bouton du mode Conception est « désactivé ». L'indicateur est qu'il aura un fond blanc et non un fond coloré (verdâtre). (Voir l'image ci-dessous)
Cliquez sur le bouton Charger les boissons
Vous obtiendrez les résultats suivants
Téléchargez Excel contenant le code ci-dessus
Téléchargez le code Excel ci-dessus
Résumé
- Un tableau est une variable capable de stocker plus d'une valeur
- Excel VBA prend en charge les tableaux statiques et dynamiques
- Les tableaux facilitent l'écriture de code maintenable plutôt que de déclarer un grand nombre de variables pour des données logiquement liées.