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
- Ouvrez Microsoft Excel
- Enregistrez le nouveau classeur sous VBA Arrays.xlsm
รtape 2 โ Ajouter un bouton de commande
ร noter: 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 fichier Excel ci-dessus. Code
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.





