Déclarer et initialiser un tableau de chaînes dans VBA

Glen Alfaro 30 janvier 2023
  1. Déclarer et initialiser un tableau de chaînes dynamique
  2. Déclarer et initialiser un tableau de chaînes statiques
Déclarer et initialiser un tableau de chaînes dans VBA

Dans toute exécution de code dans n’importe quel langage de programmation, le besoin de stocker des informations est parfois inévitable. La bonne chose est que VBA permet plusieurs options lors du stockage des données, et l’une d’elles est les tableaux.

Dans VBA, les tableaux sont classés en fonction de leur longueur et de la flexibilité du type de données.

  1. Tableaux dynamiques - tableaux dont la longueur et le type de données varient
  2. Tableaux statiques - tableaux dont la longueur et le type de données sont fixes.

De plus, les tableaux dans VBA peuvent également être classés en fonction de leurs dimensions.

  1. Tableau à une dimension - tableaux qui n’ont qu’un seul tableau à une seule ligne.
  2. Tableau multidimensionnel - tableaux qui ont plusieurs tableaux à une seule ligne.

Déclarer et initialiser un tableau de chaînes dynamique

Les blocs de code ci-dessous montrent comment créer et initialiser un tableau de chaînes.

Méthode 1 - Déclarer comme type de données Variant

Déclarez un tableau dynamique en créant une variable dans un type de données variant. Ensuite le tableau sera initialisé par une collection (Array()).

Sub DynamicArrayDemo()

Dim stringArray As Variant

stringArray = Array("Lion", "Tiger", "Cheetah", "Monkey", "Elephant", "Zebra")

Debug.Print stringArray(3)

End Sub

Sortie DynamicArrayDemo :

Monkey

Méthode 2 - Déclarer en tant que String, puis utiliser la fonction Split()

Déclarez un tableau de chaînes nommé stringArray sans déclarer explicitement les limites.

Sub DynamicArrayDemo()

Dim stringArray() As String
Dim str As String

str = "Lion,Tiger,Cheetah,Monkey,Elephant,Zebra"

stringArray = Split("Lion,Tiger,Cheetah,Monkey,Elephant,Zebra", ",")

Debug.Print stringArray(2)
End Sub

Sortie DynamicArrayDemo :

Cheetah

Déclarer et initialiser un tableau de chaînes statiques

Les blocs de code ci-dessous illustrent différentes méthodes pour déclarer et initialiser un tableau de chaînes statique.

Méthode 1 - Déclarer LowerBound et UpperBound :

Déclarez un tableau de chaînes statique en déclarant explicitement ses premier et dernier éléments.

Syntaxe:

Dim stringArray([LowerBound] To [UpperBound]) As String

Paramètres:

[LowerBound] L’entier clé auquel le premier élément du tableau est référencé.
[UpperBound] L’entier clé auquel le dernier élément du tableau est référencé.

L’exemple ci-dessous déclarera un tableau de chaînes nommé stringArray avec six éléments de l’élément 0 à 5.

Sub StaticArrayDemo()

Dim stringArray(0 To 5) As String

stringArray(0) = "Lion"
stringArray(1) = "Tiger"
stringArray(2) = "Cheetah"
stringArray(3) = "Monkey"
stringArray(4) = "Elephant"
stringArray(5) = "Zebra"

Debug.Print stringArray(4)

End Sub

Sortie StaticArrayDemo :

Elephant

Méthode 2 - Changer explicitement la limite inférieure

Déclarez un tableau de chaînes par une valeur générique Borne inférieure.

Option Base 1

Sub StaticArrayDemo()
Dim stringArray(6) As String

stringArray(1) = "Lion"
stringArray(2) = "Tiger"
stringArray(3) = "Cheetah"
stringArray(4) = "Monkey"
stringArray(5) = "Elephant"
stringArray(6) = "Zebra"

Debug.Print stringArray(1)

End Sub

Sortie StaticArrayDemo :

Lion

Méthode 3 - Déclarer et initialiser à l’aide d’un tableau multidimensionnel

Dans VBA, vous pouvez déclarer des tableaux jusqu’à 60 dimensions.

Syntaxe:

Dim stingArray( [LowerBound1] to [UpperBound1],[LowerBound2] to [UpperBound2], . . .  ) as String

Paramètres:

[LowerBound1] L’entier clé est le premier élément de tableau référencé sur la première dimension du tableau.
[UpperBound1] L’entier clé est le dernier élément de tableau référencé sur la première dimension du tableau.
[LowerBound2] L’entier clé est le premier élément de tableau référencé sur la deuxième dimension du tableau.
[UpperBound2] L’entier clé est le dernier élément de tableau référencé sur la deuxième dimension du tableau.

Dans l’exemple ci-dessous, un tableau multidimensionnel a été déclaré où la première dimension est de 1 à 5 ; puis l’autre est de 1 à 5.

Sub MultiStaticArrayDemo()

Dim stringArray(1 To 5, 1 To 5) As String
Dim i, j As Integer

For i = 1 To 5
    For j = 1 To 5
        stringArray(i, j) = "The value of (" & i & "," & j & ") is " & i * j
        Debug.Print stringArray(i, j)
    Next j
Next i

End Sub

Sortie MultiStaticArrayDemo :

The value of (1,1) is 1
The value of (1,2) is 2
The value of (1,3) is 3
The value of (1,4) is 4
The value of (1,5) is 5
The value of (2,1) is 2
The value of (2,2) is 4
The value of (2,3) is 6
The value of (2,4) is 8
The value of (2,5) is 10
The value of (3,1) is 3
The value of (3,2) is 6
The value of (3,3) is 9
The value of (3,4) is 12
The value of (3,5) is 15
The value of (4,1) is 4
The value of (4,2) is 8
The value of (4,3) is 12
The value of (4,4) is 16
The value of (4,5) is 20
The value of (5,1) is 5
The value of (5,2) is 10
The value of (5,3) is 15
The value of (5,4) is 20
The value of (5,5) is 25

Article connexe - VBA Array