VBA - Tableaux

On sait très bien qu'une variable est un conteneur pour stocker une valeur. Parfois, les développeurs sont en mesure de conserver plusieurs valeurs dans une seule variable à la fois. Lorsqu'une série de valeurs est stockée dans une seule variable, on parle alors dearray variable.

Déclaration Array

Les tableaux sont déclarés de la même manière qu'une variable a été déclarée, sauf que la déclaration d'une variable de tableau utilise des parenthèses. Dans l'exemple suivant, la taille du tableau est mentionnée entre crochets.

'Method 1 : Using Dim
Dim arr1()	'Without Size

'Method 2 : Mentioning the Size
Dim arr2(5)  'Declared with size of 5

'Method 3 : using 'Array' Parameter
Dim arr3
arr3 = Array("apple","Orange","Grapes")
  • Bien que la taille du tableau soit indiquée comme 5, elle peut contenir 6 valeurs car l'index du tableau commence à zéro.

  • L'index du tableau ne peut pas être négatif.

  • Les tableaux VBScript peuvent stocker tout type de variable dans un tableau. Par conséquent, un tableau peut stocker un entier, une chaîne ou des caractères dans une seule variable de tableau.

Attribution de valeurs à un tableau

Les valeurs sont affectées au tableau en spécifiant une valeur d'index de tableau pour chacune des valeurs à affecter. Cela peut être une chaîne.

Exemple

Ajoutez un bouton et ajoutez la fonction suivante.

Private Sub Constant_demo_Click()
   Dim arr(5)
   arr(0) = "1"           'Number as String
   arr(1) = "VBScript"    'String
   arr(2) = 100 		     'Number
   arr(3) = 2.45 		     'Decimal Number
   arr(4) = #10/07/2013#  'Date
   arr(5) = #12.45 PM#    'Time
  
   msgbox("Value stored in Array index 0 : " & arr(0))
   msgbox("Value stored in Array index 1 : " & arr(1))
   msgbox("Value stored in Array index 2 : " & arr(2))
   msgbox("Value stored in Array index 3 : " & arr(3))
   msgbox("Value stored in Array index 4 : " & arr(4))
   msgbox("Value stored in Array index 5 : " & arr(5))
End Sub

Lorsque vous exécutez la fonction ci-dessus, elle produit la sortie suivante.

Value stored in Array index 0 : 1
Value stored in Array index 1 : VBScript
Value stored in Array index 2 : 100
Value stored in Array index 3 : 2.45
Value stored in Array index 4 : 7/10/2013
Value stored in Array index 5 : 12:45:00 PM

Tableaux multidimensionnels

Les tableaux ne sont pas seulement limités à une seule dimension, ils peuvent cependant avoir un maximum de 60 dimensions. Les tableaux bidimensionnels sont les plus couramment utilisés.

Exemple

Dans l'exemple suivant, un tableau multidimensionnel est déclaré avec 3 lignes et 4 colonnes.

Private Sub Constant_demo_Click()
   Dim arr(2,3) as Variant	' Which has 3 rows and 4 columns
   arr(0,0) = "Apple" 
   arr(0,1) = "Orange"
   arr(0,2) = "Grapes"           
   arr(0,3) = "pineapple" 
   arr(1,0) = "cucumber"           
   arr(1,1) = "beans"           
   arr(1,2) = "carrot"           
   arr(1,3) = "tomato"           
   arr(2,0) = "potato"             
   arr(2,1) = "sandwitch"            
   arr(2,2) = "coffee"             
   arr(2,3) = "nuts"            
           
   msgbox("Value in Array index 0,1 : " &  arr(0,1))
   msgbox("Value in Array index 2,2 : " &  arr(2,2))
End Sub

Lorsque vous exécutez la fonction ci-dessus, elle produit la sortie suivante.

Value stored in Array index : 0 , 1 : Orange
Value stored in Array index : 2 , 2 : coffee

Déclaration ReDim

L'instruction ReDim est utilisée pour déclarer des variables de tableau dynamique et allouer ou réallouer de l'espace de stockage.

Syntaxe

ReDim [Preserve] varname(subscripts) [, varname(subscripts)]

Description des paramètres

  • Preserve - Un paramètre facultatif utilisé pour conserver les données dans un tableau existant lorsque vous modifiez la taille de la dernière dimension.

  • Varname - Un paramètre obligatoire, qui indique le nom de la variable, qui doit suivre les conventions de dénomination de variable standard.

  • Subscripts - Un paramètre obligatoire, qui indique la taille du tableau.

Exemple

Dans l'exemple suivant, un tableau a été redéfini, puis les valeurs sont conservées lorsque la taille existante du tableau est modifiée.

Note - Lors du redimensionnement d'un tableau plus petit qu'il ne l'était à l'origine, les données des éléments éliminés seront perdues.

Private Sub Constant_demo_Click()
   Dim a() as variant
   i = 0
   redim a(5)
   a(0) = "XYZ"
   a(1) = 41.25
   a(2) = 22
  
   REDIM PRESERVE a(7)
   For i = 3 to 7
   a(i) = i
   Next
  
   'to Fetch the output
   For i = 0 to ubound(a)
      Msgbox a(i)
   Next
End Sub

Lorsque vous exécutez la fonction ci-dessus, elle produit la sortie suivante.

XYZ
41.25
22
3
4
5
6
7

Méthodes de tableau

Il existe diverses fonctions intégrées dans VBScript qui aident les développeurs à gérer efficacement les tableaux. Toutes les méthodes utilisées avec les tableaux sont répertoriées ci-dessous. Veuillez cliquer sur le nom de la méthode pour le connaître en détail.

Sr.No. Description de la fonction
1 LBound

Une fonction, qui renvoie un entier correspondant au plus petit indice des tableaux donnés.

2 UBound

Une fonction, qui renvoie un entier correspondant au plus grand indice des tableaux donnés.

3 Divisé

Une fonction, qui renvoie un tableau contenant un nombre spécifié de valeurs. Fractionner basé sur un délimiteur.

4 Joindre

Une fonction, qui renvoie une chaîne contenant un nombre spécifié de sous-chaînes dans un tableau. C'est une fonction exactement opposée à la méthode de fractionnement.

5 Filtre

Une fonction, qui renvoie un tableau de base zéro qui contient un sous-ensemble d'un tableau de chaînes basé sur un critère de filtre spécifique.

6 IsArray

Une fonction, qui renvoie une valeur booléenne qui indique si la variable d'entrée est ou non un tableau.

sept Effacer

Une fonction, qui récupère la mémoire allouée pour les variables du tableau.