Tableaux VBA Excel

Le tableau VBA Excel n'est rien d'autre qu'une variable pouvant contenir le même type de données. Un tableau est un groupe d'une variable qui peut stocker plusieurs variables. Le nom de la variable sera le même mais peut contenir différentes valeurs dans une seule variable. Un tableau VBA est un type de variable qui est utilisé pour stocker des listes de données du même type.

Si nous avons 5 cellules qui contiennent des nombres, nous devons déclarer 5 variables pour contenir 5 nombres différents dans la plage. Mais en utilisant un tableau, nous pouvons contenir 5 valeurs différentes dans une seule variable elle-même.

Comment utiliser les tableaux VBA Excel?

Voyons comment utiliser les tableaux VBA Excel et leurs types avec quelques exemples.

Vous pouvez télécharger ce modèle Excel de tableaux VBA ici - Modèle Excel de tableaux VBA

Exemple 1

Jetez un œil à l'exemple ci-dessous. X est une variable qui contient le type de données entier.

Code:

 Sub Array_Example1 () Dim x As Integer x = 1 End Sub 

Attribuez maintenant une valeur de 1 à la variable déclarée x.

Insérons la valeur 1 dans la cellule A1.

Code:

 Sub Array_Example1 () Dim x As Integer x = 1 Range ("A1"). Value = x 
 End Sub 

La valeur x est égale à 1 et dans la plage, A1 la valeur sera insérée comme la valeur de x, c'est-à-dire que la valeur de x est 1. Exécutez maintenant le code à l'aide de la touche F5 ou manuellement pour voir les résultats.

Dans l'exemple ci-dessus, x ne contient qu'une seule variable, c'est tout. Mais si je veux insérer 5 nombres consécutifs en utilisant la seule variable, je dois utiliser la variable de type tableau qui peut contenir de nombreuses valeurs de variable dans un seul nom de variable.

Exemple # 2

Jetez maintenant un œil à l'exemple ci-dessous. Un nom de variable est x et le type de données est LONG. Mais en déclarant la variable elle-même, j'ai ouvert le crochet et mentionné 1 à 5. Cela signifie que la variable x contiendra 5 types de valeurs différents.

Code:

 Sub Array_Example () Dim x (1 à 5) Aussi long, i que Integer End Sub 

Après cela, j'ai attribué les valeurs à chaque variable. X (1) = 20 signifie que la première variable doit être égale à la valeur de 20. X (2) = 25 signifie que la deuxième variable doit être égale à la valeur de 25 et ainsi de suite.

Code:

 Sub Array_Example () Dim x (1 à 5) Aussi long, i que Entier x (1) = 20 x (2) = 25 x (3) = 44 x (4) = 78 x (5) = 96 End Sub 

Plus tard, j'ai déclaré une autre variable appelée «I», c'est le deuxième type de variable et contient le type de données entier .

Dans l'étape suivante, j'ai appliqué des boucles FOR pour insérer des numéros attribués au tableau dans la première colonne. J'ai défini la valeur de la variable i sur 1 et j'ai demandé à la boucle de s'exécuter 1 à 5 fois. Lorsque la boucle est exécutée pour la première fois, la valeur i sera égale à 1. CELLS (I, 1) .value = x (i) cela signifie que pour la première fois i est égal à 1, c'est-à-dire CELLS (1, 1) .value = x (1), dans la première ligne de la première colonne (cellule A1), la valeur sera la première valeur du tableau ( x (1) ), c'est-à-dire 20.

Lorsque la boucle s'exécute pour la deuxième fois, la valeur i devient 2, c.-à-d. CELLULES (2, 1) .value = x (2), dans la deuxième ligne de la première colonne (A2), la valeur sera la deuxième valeur du tableau ( x (2) ) soit 25.

Code:

 Sub Array_Example () Dim x (1 à 5) Aussi longtemps, i que Entier x (1) = 20 x (2) = 25 x (3) = 44 x (4) = 78 x (5) = 96 Pour i = 1 à 5 cellules (i, 1) .Valeur = x (i) Next i End Sub 

De cette façon, lorsque les boucles continuent de fonctionner, les valeurs continueront de changer. Lorsque les boucles s'exécutent pour la troisième fois, la valeur de la cellule A3 est de 44, la quatrième boucle exécute la valeur de la cellule A4 sera de 78 lorsque les boucles s'exécutent pour la dernière fois ou la cinquième valeur de la cellule A5 est de 96.

Après avoir exécuté le code à l'aide de la touche F5 ou manuellement, nous obtiendrons les résultats comme indiqué ci-dessous.

Types de tableaux dans Excel

Les tableaux ont différents types dans VBA. Il existe cinq types de tableaux disponibles dans Excel.

  • Tableau statique
  • Tableau dynamique
  • Tableau unidimensionnel
  • Réseau bidimensionnel
  • Tableau multidimensionnel

Tableau statique

Dans ce type de réseau, la longueur du réseau est prédéterminée à l'avance et reste constante.

Code:

 Sub Static_Example () Dim ArrayType (1 à 3) As Integer ArrayType (1) = 0 ArrayType (2) = 1 ArrayType (3) = 2 Cellules (1, 1) .Value = ArrayType (1) Cellules (1, 2) .Value = ArrayType (2) Cellules (1, 3) .Value = ArrayType (3) End Sub 

Dans le code ci-dessus, la longueur d'ArrayType est déterminée bien à l'avance comme 1 à 3 et le type de données est Integer.

Après avoir exécuté le code à l'aide de la touche F5 ou manuellement, nous obtiendrons les résultats comme indiqué ci-dessous.

Tableau dynamique

Dans ce type de réseau, la longueur du réseau n'est pas prédéterminée bien à l'avance.

Code:

 Sub Dynamic_Example () Dim ArrayType () As Variant ReDim ArrayType (3) ArrayType (1) = "My Name" ArrayType (2) = "is" ArrayType (3) = "Excel" Cells (1, 1) .Value = ArrayType (1) Cellules (1, 2) .Value = ArrayType (2) Cellules (1, 3) .Value = ArrayType (3) End Sub 

Dans ce type de tableau, les données sont Variant et la longueur n'est pas déterminée ici. Après avoir déclaré la variable, j'ai attribué la longueur du tableau à l'aide de la fonction ReDim . Ce tableau insérera les valeurs comme celle-ci Cell A1 = My Name, Cell B1 = is, Cell C1 = Excel.

Tableau unidimensionnel

Dans ce type de tableau, la longueur est déterminée mais dans une dimension cela fonctionne.

Code:

 Sub One_Dimensional () Dim OneDimension (1 to 3) As String OneDimension (1) = 40 OneDimension (2) = 50 OneDimension (3) = 15 End Sub 

Affichez ces valeurs dans la boîte de message VBA.

Code:

 Sub One_Dimensional () Dim OneDimension (1 à 3) As String OneDimension (1) = 40 OneDimension (2) = 50 OneDimension (3) = 15 MsgBox OneDimension (1) & ", " & OneDimension (2) & ", " & OneDimension (3) End Sub 

Exécutez ce code à l'aide de la touche F5 ou manuellement et nous obtiendrons le résultat suivant.

Réseau bidimensionnel

Dans ce type de tableau, la longueur est déterminée en deux dimensions et cela fonctionne.

Code:

 Sub Two_Dimensional () Dim TwoDimension (1 To 2, 1 To 2) As Long Dim i As Integer Dim j As Integer TwoDimension (1, 2) = 40 TwoDimension (2, 1) = 50 TwoDimension (1, 1) = 15 TwoDimension (2, 2) = 10 End Sub 

Maintenant, pour stocker ces valeurs dans les cellules sous le code.

Code:

 Sub Two_Dimensional () Dim TwoDimension (1 To 2, 1 To 2) As Long Dim i As Integer Dim j As Integer TwoDimension (1, 2) = 40 TwoDimension (2, 1) = 50 TwoDimension (1, 1) = 15 TwoDimension (2, 2) = 10 Pour i = 1 à 2 Pour j = 1 à 2 cellules (i, j) = Deux dimensions (i, j) Suivant j Suivant i Fin Sub 

Cela stockera les données comme ci-dessous.

Tableau multidimensionnel

Dans ce type de tableau, la longueur est déterminée mais en multi-dimension, ça marche.

Code:

 Sub Multi_Dimensional () Dim TwoDimension (1 to 3, 1 To 2) As Long Dim i As Integer Dim j As Integer MultiDimension (1, 1) = 15 MultiDimension (1, 2) = 40 MultiDimension (2, 1) = 50 MultiDimension (2, 2) = 10 MultiDimension (3, 1) = 98 MultiDimension (3, 2) = 54 

Si vous regardez d'abord le code ci-dessus, j'ai déclaré le tableau 1 à 3, puis 1 à 2. Cela signifie que lorsque j'écris le tableau d'abord, je ne peux utiliser que 1 à 3 chiffres, mais dans le deuxième espace, je ne peux utiliser que 1 à 2 et non 1 à 3.

En utilisant Loop, nous pouvons insérer des valeurs dans les cellules. J'ai utilisé deux boucles pour un tableau multidimensionnel.

Code:

 Sub Multi_Dimensional () Dim TwoDimension (1 to 3, 1 To 2) As Long Dim i As Integer Dim j As Integer MultiDimension (1, 1) = 15 MultiDimension (1, 2) = 40 MultiDimension (2, 1) = 50 MultiDimension (2, 2) = 10 MultiDimension (3, 1) = 98 MultiDimension (3, 2) = 54 Pour i = 1 à 3 Pour j = 1 à 2 cellules (i, j) = MultiDimension (i, j) Suivant j Next i End Sub 

Après avoir exécuté le code à l'aide de la touche F5 ou manuellement, nous obtiendrons les résultats comme indiqué ci-dessous.

Choses dont il faut se rappeler

  • Un tableau comptera les valeurs à partir de zéro, pas à partir de 1.
  • Le tableau (0, 0) signifie la première colonne de la première ligne.
  • Ce fichier de macro Excel doit être enregistré en tant que classeur activé par macro.
  • Dans le cas d'un tableau dynamique, nous devons attribuer la valeur du tableau à l'aide de la fonction REDIM dans VBA.

Articles recommandés

Cela a été un guide pour les baies VBA. Ici, nous avons discuté des types de tableaux dans VBA et comment utiliser les tableaux VBA Excel avec quelques exemples pratiques et un modèle Excel téléchargeable. Vous pouvez également consulter nos autres articles suggérés -

  1. Fonction FIND dans Excel avec des exemples
  2. Qu'est-ce que la fonction VBA dans Excel?
  3. Guide de l'objet de plage VBA
  4. Comment utiliser la fonction VBA VLOOKUP?

Catégorie: