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

  1. 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.
  2. 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.
  3. 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)
  1. Il dรฉclare une variable tableau appelรฉe arrayName avec une taille de n et un type de donnรฉes. La taille fait rรฉfรฉrence au nombre d'รฉlรฉments que le tableau peut stocker.

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 ()
  1. Il dรฉclare une variable tableau appelรฉe arrayName sans spรฉcifier le nombre d'รฉlรฉments
Nom du tableau ReDim (4)
  1. Il spรฉcifie la taille du tableau une fois le tableau dรฉfini.

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

  1. Ouvrez Microsoft Excel
  2. 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

  1. Ajouter un bouton de commande ร  la feuille

Utiliser un tableau dans Excel VBA

  1. Dรฉfinissez la propriรฉtรฉ name sur cmdLoadBeverages
  2. Dรฉfinissez la propriรฉtรฉ caption sur Load Beverages

Votre interface graphique devrait maintenant รชtre la suivante

Utiliser un tableau dans Excel VBA

ร‰tape 3 โ€“ Enregistrez le fichier

  1. Cliquez sur le bouton Enregistrer sous
  2. Choisissez Classeur Excel prenant en charge les macros (* .xlsm) comme indiquรฉ dans l'image ci-dessous

Utiliser un tableau dans Excel VBA

ร‰tape 4 โ€“ ร‰crivez le code

Nous allons maintenant รฉcrire le code de notre application

  1. Faites un clic droit sur le bouton Charger les boissons et sรฉlectionnez Afficher le code
  2. 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
  • Il dรฉclare une variable de tableau appelรฉe Drinks. Le premier indice du tableau est 1 et le dernier indice du tableau est 4.
Boissons(1) = ยซ Pepsi ยป
  • Attribue la valeur Pepsi au premier รฉlรฉment du tableau. L'autre code similaire fait de mรชme pour les autres รฉlรฉments du tableau.
Sheet1.Cells(1, 1).Value = ยซ Mes boissons prรฉfรฉrรฉes ยป.
  • ร‰crit la valeur Mes boissons prรฉfรฉrรฉes dans l'adresse de cellule A1. Sheet1 fait rรฉfรฉrence ร  la feuille et Cells(1,1) fait rรฉfรฉrence ร  la ligne numรฉro 1 et ร  la colonne 1 (B)
Sheet1.Cells(2, 1).Value = Boissons(1)
  • ร‰crit la valeur de l'รฉlรฉment du tableau avec l'index 1 dans la ligne numรฉro deux de la colonne 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)

Tester une application dans Excel VBA

Cliquez sur le bouton Charger les boissons

Vous obtiendrez les rรฉsultats suivants

Tester une application dans Excel VBA

Tรฉlรฉchargez Excel contenant le code ci-dessus

Tรฉlรฉchargez le fichier Excel ci-dessus. Code

Rรฉsumรฉ

  1. Un tableau est une variable capable de stocker plus d'une valeur
  2. Excel VBA prend en charge les tableaux statiques et dynamiques
  3. 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.

Rรฉsumez cet article avec :