Remplir une plage de cellules avec des valeurs (Microsoft Excel)
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]
.