Table VBA : Guide de Base à Avancé

Points clés

  • Considérez un tableau dans un tableau VBA comme une mini base de données pour stocker et organiser des données (exemple : nom, sujet et scores de l’étudiant).
  • Avant de l’utiliser, vous devez déclarer un tableau ; avec son type de données et le nombre de valeurs que vous souhaitez y stocker.

Si vous souhaitez travailler avec des données volumineuses à l’aide de VBA, vous devez comprendre les tableaux et comment les utiliser dans les codes VBA. Dans ce guide, vous explorerez tous les aspects du tableau et nous verrons également quelques exemples à utiliser. eux.

Qu’est-ce qu’un tableau en VBA ?

En VBA, un tableau est une variable qui peut stocker plusieurs valeurs . Vous pouvez accéder à toutes les valeurs de ce tableau à la fois ou vous pouvez également accéder à une seule valeur en spécifiant son numéro d’index qui est la position de cette valeur dans le tableau. Imaginez que vous avez un rendez-vous avec le nom, le sujet et les notes de l’élève.

Vous pouvez stocker toutes ces informations dans un tableau, pas seulement pour un étudiant mais pour des centaines. Voici un exemple simple pour expliquer un tableau.

exemple-pour-expliquer-un-tableau

Dans l’exemple ci-dessus, vous avez un tableau de dix éléments (taille du tableau) et chaque élément a une position spécifique (Index).

Ainsi, si vous souhaitez utiliser un élément qui se trouve en huitième position, vous devez vous référer à cet élément en utilisant son numéro d’index.

Le tableau que nous avons utilisé dans l’exemple ci-dessus est un tableau à une dimension. Mais plus loin dans ce guide, nous découvrirons également les tableaux multidimensionnels.

Comment déclarer un tableau en VBA

Comme je l’ai mentionné ci-dessus, un tableau est le type de variable, vous devez donc le déclarer à l’aide des mots-clés (Dim, Private, Public et Static). Contrairement à une variable normale, lorsque vous déclarez un tableau, vous devez utiliser une paire de parenthèses après le nom du tableau.

Disons que vous voulez déclarer un tableau que nous avons utilisé dans l’exemple ci-dessus.

Étapes pour déclarer un tableau.

  • Tout d’abord, utilisez le mot-clé « Dim », entrez le nom du tableau et tapez des parenthèses.
    use-the-keyword-dim
  • Ensuite, vous devez spécifier le type de données pour le tableau. Si vous n’avez pas de type de données spécifié, VBA attribuera le type de données approprié.
    specify-data-type-of-an-array
  • Après cela, vous devez définir le nombre d’éléments que vous souhaitez stocker dans le tableau.
    define-the-number-of-items
  • En fin de compte, pour attribuer une valeur à un élément dans un tableau, vous devez utiliser le numéro d’index de l’élément pour l’identifier, puis lui attribuer une valeur.
    assign-a-vale-to-an-item

Code complet

Sub vba_array_example()
Dim StudentsNames(10) As String
StudentsNames(0) = "Waylon"
StudentsNames(1) = "Morton"
StudentsNames(2) = "Rudolph"
StudentsNames(3) = "Georgene"
StudentsNames(4) = "Billi"
StudentsNames(5) = "Enid"
StudentsNames(6) = "Genevieve"
StudentsNames(7) = "Judi"
StudentsNames(8) = "Madaline"
StudentsNames(9) = "Elton"
End Sub

Notes rapides

  • Dans le code ci-dessus, vous avez d’abord l’instruction Dim qui définit le tableau unidimensionnel qui peut stocker jusqu’à 10 éléments et a un type de données chaîne.
  • Après cela, vous avez 10 lignes de code qui définissent les éléments d’un tableau de 0 à 9.

Tableau avec un type de données variant

Lors de la déclaration d’un tableau si vous omettez de spécifier le type de données, VBA utilisera automatiquement le type de données variant, ce qui entraîne une légère augmentation de l’utilisation de la mémoire, et cette augmentation de l’utilisation de la mémoire pourrait ralentir les performances du code.

Il est donc préférable de définir un type de données spécifique lorsque vous déclarez un tableau, sauf s’il est nécessaire d’utiliser le type de données variant.

Renvoyer des informations d’un tableau

Comme je l’ai mentionné plus tôt pour obtenir des informations à partir d’un tableau, vous pouvez utiliser le numéro d’index de l’élément pour spécifier sa position. Par exemple, si vous souhaitez renvoyer le 8e élément de la zone que nous avons créée dans l’exemple précédent, le code serait :

retour-d'informations-d'un-tableau

Dans le code ci-dessus, vous avez entré la valeur dans la cellule A1 en utilisant l’élément 8 du tableau.

Utiliser la base d’options 1

Je suis sûr que vous avez cette question en tête en ce moment pourquoi nous avons commencé notre liste d’éléments à partir de zéro au lieu d’un ?

Eh bien, ce n’est pas une erreur.

Lorsque les langages de programmation ont été construits pour la première fois , une certaine négligence a fait de cette structure une liste d’éléments dans un tableau. Dans la plupart des langages de programmation, vous pouvez trouver la même structure d’éléments de liste.

Cependant, contrairement à la plupart des autres langages informatiques, dans VBA, vous pouvez normaliser le fonctionnement de l’index, ce qui signifie que vous pouvez le faire commencer par 1. La seule chose que vous devez faire est d’ajouter une instruction basée sur des options au début du module avant déclaration d’un tableau.

Maintenant, ce tableau ressemblera à quelque chose comme ci-dessous :

utiliser-option-base-1

Recherche dans un tableau

Lorsque vous stockez des valeurs dans un tableau, il peut arriver que vous deviez effectuer une recherche dans un tableau.

Dans ce cas, vous devez connaître les méthodes que vous pouvez utiliser. Maintenant, regardez le code ci-dessous qui peut vous aider à comprendre comment rechercher une valeur dans un tableau.

Sub vba_array_search()

'this section declares an array and variables _
that you need to search within the array.
Dim myArray(10) As Integer
Dim i As Integer
Dim varUserNumber As Variant
Dim strMsg As String

'This part of the code adds 10 random numbers to _
the array and shows the result in the _
immediate window as well.
For i = 1 To 10
myArray(i) = Int(Rnd * 10)
Debug.Print myArray(i)
Next i

'it is an input box that asks you the number that you want to find.
Loopback:
varUserNumber = InputBox _
("Enter a number between 1 and 10 to search for:", _
"Linear Search Demonstrator")

'it's an IF statement that checks for the value that you _
have entered in the input box.
If varUserNumber = "" Then End
If Not IsNumeric(varUserNumber) Then GoTo Loopback
If varUserNumber < 1 Or varUserNumber > 10 Then GoTo Loopback

'message to show if the value doesn't found.
strMsg = "Your value, " & varUserNumber & _
", was not found in the array."

'loop through the array and match each value with the _
the value you have entered in the input box.
For i = 1 To UBound(myArray)
If myArray(i) = varUserNumber Then
strMsg = "Your value, " & varUserNumber & _
", was found at position " & i & " in the array."
Exit For
End If
Next i

'message box in the end
MsgBox strMsg, vbOKOnly + vbInformation, "Linear Search Result"

End Sub
recherche dans un tableau
  1. Dans la première partie du code, vous avez des variables que vous devez utiliser plus loin dans le code.
  2. Après cela, la partie suivante consiste à générer des nombres aléatoires en utilisant RND pour obtenir 10 valeurs pour le tableau.
  3. Ensuite, une zone de saisie pour laisser entrer la valeur que vous souhaitez rechercher dans le tableau.
  4. Dans cette partie, vous avez un code pour la chaîne à utiliser dans la boîte de message si la valeur que vous avez saisie n’est pas trouvée.
  5. Cette partie du code utilise une boucle pour parcourir chaque élément du tableau et vérifier si la valeur que vous avez entrée est dans le tableau ou non.
  6. La dernière partie du code affiche un message indiquant si une valeur est trouvée ou non.

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *