Comment ajouter une nouvelle valeur à un tableau via VBA ?

Pour ajouter une nouvelle valeur à un tableau existant, vous devez disposer d’un tableau dynamique pour en redéfinir les éléments, et lorsque vous faites cela, vous devez conserver les valeurs des anciens éléments. Cela vous aide à ajouter uniquement la valeur au nouvel élément que vous avez défini et laisse le reste de la pièce intact.

Ci-dessous, vous avez un tableau dans lequel vous avez défini deux éléments. Comme il s’agit d’un tableau dynamique, vous disposez d’une instruction « ReDim » pour définir deux éléments, puis ajouter des valeurs à ces éléments.

tableau-dynamique-pour-redéfinir-les-éléments

Nous allons ensuite ajouter un troisième élément à ce tableau.

Ajouter une nouvelle valeur à un tableau dans VBA

  1. Tout d’abord, vous devez utiliser l’instruction « ReDim » avec le mot-clé « Preserve » pour conserver les deux éléments, y compris le nouvel élément pour lequel vous souhaitez ajouter la valeur.
  2. Ensuite, vous devez définir les éléments que vous souhaitez avoir dans le tableau. Ici, vous devez avoir trois éléments, nous utilisons donc 1 à 3 pour cela.
  3. Après cela, vous devez ajouter de la valeur au troisième élément qui est le nouvel élément que vous avez défini.
  4. À la fin, utilisez le debug.print pour obtenir tous les éléments avec les nouveaux éléments dans la fenêtre immédiate.
Option Explicit
Option Base 1
Sub vba_array_add_value()

    Dim myArray() As Variant
    ReDim myArray(2)
    myArray(1) = 5
    myArray(2) = 10
   
    ReDim Preserve myArray(1 To 3)
    myArray(3) = 15
   
    Debug.Print myArray(1)
    Debug.Print myArray(2)
    Debug.Print myArray(3)
   
End Sub

Permettez-moi de partager quelques mots de plus avec vous.

  • Vous devez déclarer un tableau en tant que tableau dynamique au début si vous savez que vous devez ajouter plus de valeur au tableau dans le code plus loin.
  • En utilisant cette méthode, vous ne pouvez ajouter un nouvel élément qu’à la fin du tableau.

Ajouter un commentaire

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