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

“Un grand merci”

Voici le commentaire de Stéphane, qui vient juste de finir d'étudier les CD sur VBA avancé (vol. 1 et 2) ! 🙂
---------
Bonjour Gaëtan,

Je tenais à vous remercier pour les cours VBA 1 & 2 que j'ai acheté
sur votre site.
Grace à ces cours, j'ai pu enfin finaliser le projet que je souhaitais
faire pour mon travail à savoir associer sur le même userform la
gestion automatique d'un formulaire de saisie ainsi que la gestion
d'une table de données avec les listbox avec recherche dynamique et
avec critères et distribution du fichier pour les clients.

ET TOUT CA EN UN CLIC !

Merci encore.

Stéphane.
------------

[Hors Sujet] Faire un executive DBA


Bonjour à tous,

Comme vous le savez peut-être, j'ai eu le plaisir de faire un doctorat en management des systèmes d'information - payé en partie par les formations que vous m'avez achetées :-).

Mon directeur de thèse de l'époque a lancé un excellent programme à destination des cadres ou chefs d'entreprises qui souhaiteraient se lancer dans une démarche de recherche scientifique, mais sans quitter leur emploi et sur une période de 3 ans. J'ai aussi le grand plaisir d'intervenir dans ce programme.

Voici une très bonne synthèse de cette approche dans le monde, ainsi que le lien direct vers BSI... si jamais cela évoque des vocations !

A bientôt.

Gaëtan