Jonathan crée une macro et doit remplir une plage de cellules avec des valeurs. Par exemple, s’il a besoin de remplir la plage A1: C1, il faut actuellement trois instructions pour remplir cette plage:

Range("A1") = "Test1"

Range("B1") = "Test2"

Range("C1") = "Test3"

Il se demande s’il existe un moyen de les remplir dans une seule déclaration, semblable à la suivante:

Range("A1:C1") = ("Test1","Test2","Test3")

La syntaxe souhaitée par Jonathan est proche, mais cela ne fonctionnera pas. Voici comment cela fonctionnera:

Range("A1:C1") = Array("Test1","Test2","Test3")

Notez l’utilisation de l’instruction Array, qui indique à VBA que ce qui suit doit être considéré comme une séquence de valeurs à utiliser dans la séquence de cellules à gauche de l’opérateur. Fait intéressant, vous pouvez insérer des valeurs dans des variables et également utiliser l’instruction Array, comme indiqué ici:

sOne = "Apples"

sTwo = "Oranges"

sThree = "Artichokes"

Range("A1:C1") = Array(sOne, sTwo, sThree)

Vous pouvez également travailler avec des variables simples, si vous préférez:

Dim sMyStrings(2) As String sMyStrings(0) = "Apples"

sMyStrings(1) = "Oranges"

sMyStrings(2) = "Artichokes"

Range("A1:C1") = sMyStrings

Le code ci-dessus pourrait également être réécrit comme suit:

Dim sMyStrings(2) As String sMyStrings = Array("Apples", "Oranges", "Artichokes")

Range("A1:C1") = sMyStrings

Enfin, si vous souhaitez placer les valeurs dans une seule colonne plutôt que dans une ligne, vous devez utiliser la fonction Transposer, de cette manière:

Range("A1:A3") = Application.Transpose(Array("Test1","Test2","Test3"))

_Note: _

Si vous souhaitez savoir comment utiliser les macros décrites sur cette page (ou sur toute autre page des sites ExcelTips), j’ai préparé une page spéciale qui comprend des informations utiles.

lien: / excelribbon-ExcelTipsMacros [Cliquez ici pour ouvrir cette page spéciale dans un nouvel onglet de navigateur].

ExcelTips est votre source pour une formation Microsoft Excel rentable.

Cette astuce (11702) s’applique à Microsoft Excel 2007, 2010, 2013 et 2016.

Vous pouvez trouver une version de cette astuce pour l’ancienne interface de menu d’Excel ici:

link: / excel-Filling_a_Range_of_Cells_with_Values ​​[Remplir une plage de cellules avec des valeurs].