Tableaux Excel VBA: qu'est-ce que c'est, comment utiliser & Types de tableaux dans VBA

Table des matières:

Anonim

Qu'est-ce que VBA Array?

Un tableau est défini comme un emplacement mémoire capable de stocker plus d'une valeur. 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 le tableau VBA pour le faire.

En utilisant un tableau, vous pouvez faire référence aux valeurs associées par le même nom. Vous pouvez utiliser un index ou un indice pour les distinguer. Les valeurs individuelles sont appelées les éléments du tableau Excel VBA. Ils sont contigus de l'index 0 à la valeur d'index la plus élevée.

Ce didacticiel suppose que vous utilisez Microsoft Excel version 2013. Les connaissances s'appliquent également aux autres versions de Microsoft Excel.

Dans ce didacticiel de programmation VBA, vous apprendrez-

  • Quels sont les avantages des tableaux?
  • Types de tableaux dans VBA
  • Comment utiliser Array dans Excel VBA
  • Tester notre application

Quels sont les avantages des tableaux?

Voici quelques-uns des avantages offerts par la fonction de baie VBA

  1. Regroupez les données liées logiquement - disons que vous souhaitez stocker une liste d'étudiants. Vous pouvez utiliser une seule variable de tableau qui a des emplacements séparés 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 liées logiquement, il vous permet de définir une seule variable, au lieu de définir plus d'une variable.
  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 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) As String

  • Dynamique - Ces types de tableaux n'ont pas de nombre prédéterminé fixe d'éléments pouvant être stockés. Celles-ci sont utiles lorsque vous travaillez avec des entités dont vous ne pouvez pas prédéterminer le nombre.

    Par exemple : Dim ArrayMonth () As Variant

Syntaxe pour déclarer des tableaux

Tableaux statiques

La syntaxe de déclaration des tableaux STATIC est la suivante:

Dim arrayName (n) as datatype

ICI,

Code action
Dim arrayName (n) type de données
  1. Il déclare une variable de 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 les tableaux DYNAMIC est la suivante:

Dim arrayName() as datatypeReDim arrayName(4)

ICI,

Code action
Dim arrayName () type de données
  1. Il déclare une variable de 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 de la baie

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'étudiants dans chaque classe. Il nécessite le nombre de classes et le nombre d'étudiants dans chaque classe
  • Multi-dimension : dans cette dimension, le tableau utilise plus de deux index. Par exemple, les températures pendant la journée. (30, 40, 20).

Comment utiliser Array dans Excel VBA

Nous allons créer une application simple. Cette application remplit une feuille Excel avec les données d'une variable de tableau. Dans cet exemple de tableau VBA, nous allons faire les choses suivantes.

  • Créez un nouveau classeur Microsoft Excel et enregistrez-le en tant que classeur Excel prenant en charge les macros (* .xlsm)
  • Ajouter un bouton de commande au classeur
  • Définissez les propriétés de nom et de légende du bouton de commande
  • Programmation du VBA qui remplit la feuille Excel

Faisons cet exercice étape par étape,

Étape 1 - Créez un nouveau classeur

  1. Ouvrez Microsoft Excel
  2. Enregistrez le nouveau classeur sous VBA Arrays.xlsm

Étape 2 - Ajouter un bouton de commande

Remarque: Cette section suppose que vous êtes familiarisé avec le processus de création d'une interface dans Excel. Si vous n'êtes pas familier, lisez le didacticiel VBA Excel Form Control & ActiveX Control. Il vous montrera comment créer l'interface

  1. Ajouter un bouton de commande à la feuille
  1. Définissez la propriété name sur cmdLoadBeverages
  2. Définissez la propriété caption sur Charger les boissons

Votre GUI devrait maintenant être comme suit

Étape 3 - Enregistrez le fichier

  1. Cliquez sur le bouton Enregistrer sous
  2. Choisissez le 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

  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 StringDrinks(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

Boissons tamisées (1 à 4) en chaîne

  • Il déclare une variable de tableau appelée Drinks. Le premier index de tableau est 1 et le dernier index de 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 de 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)

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é

  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 par rapport à la déclaration d'un grand nombre de variables pour des données liées logiquement.