Compléter une plage en utilisant un array

Bonjour à tous,

Voici un code VBA qui explique comment remplir une plage avec un array.

On veut remplacer une série d'instructions comme celle-ci :
Range("A1").Value = "pif"
Range("A2").Value = "pof"
Range("A3").Value = "paf"

Par quelque chose de plus propre.

On va d'abord créer l'array (le tableau) :
Dim arrValeur() as string
redim arrValeur (1 to 3, 1 to 1)

Puis, on va attribuer les valeurs à l'array :
arrValeur(1,1) = "pif"
arrValeur(2,1) = "pof"
arrValeur(3,1) = "paf"

Et finalement, on va affecter les valeurs à la plage :
Range("A1:A3").value = arrValeur

D'où le code final que vous pouvez copier dans un module :
Sub RemplitPlageAvecArray()
Dim arrValeur() As String
ReDim arrValeur(1 To 3, 1 To 1)
arrValeur(1, 1) = "pif"
arrValeur(2, 1) = "pof"
arrValeur(3, 1) = "paf"
Range("A1:A3").Value = arrValeur
End Sub

On peut aussi améliorer le code pour faire référence aux colonnes. Dans ce cas, le deuxième argument de arrValeur fera référence aux colonnes.
Par exemple :
Sub RemplitPlageAvecArray()
Dim arrValeur() As String
ReDim arrValeur(1 To 3, 1 To 2)

arrValeur(1, 1) = "pif"
arrValeur(2, 1) = "pof"
arrValeur(3, 1) = "paf"

arrValeur(1, 2) = "plif"
arrValeur(2, 2) = "plof"
arrValeur(3, 2) = "plaf"

Range("A1:B3").Value = arrValeur
End Sub

A bientôt.

Gaëtan

[post invité] Un DatePicker VBA en une ligne

Une fonction VBA pour ouvrir un calendrier compatible avec les versions 64 bits d'Office.


Je vous propose la fonction suivante :

VBADatePicker.SelectDate([StartDate], [Cancel As Boolean]) As Date

A utiliser comme ceci et sans modérations :

Public Sub Demo_EasyPicker()
    Dim aDate As Date
    aDate = VBADatePicker.SelectDate
End Sub
Calendrier VBA

Calendrier VBA

Cette petite librairie est à télécharger VBADatePicker.xlam, source .

Pour ajouter la librairie à votre projet VBA :

  • Mettre la libraire dans le même répertoire que votre fichier Excel où vous voulez l'utiliser. Ceci pour que la librairie puisse être chargée sans que l’arborescence ait un impact (même si vous déplacez/envoyez les fichiers).
  • Dans VBE, allez dans : Outils->Références->Parcourir-> Type de fichier : Microsoft Office Excel Files
  • Puis cherchez la librairie préalablement placée dans le même répertoire que votre fichier Excel. Le résultat doit être le suivant :
Référence VBA

Ajout d'une référence à un projet VBA