Résumé
Cet article contient des exemples de procédures Microsoft Visual Basic pour Applications que vous pouvez utiliser pour travailler avec plusieurs types de tableaux.
Informations supplémentaires
Microsoft fournit des exemples de programmation à titre d’illustration uniquement, sans garantie expresse ou implicite. Cela inclut, sans s’y limiter, les garanties implicites de qualité marchande ou d’adéquation à un usage particulier. Cet article suppose que vous êtes familiarisé avec le langage de programmation présenté et les outils utilisés pour créer et déboguer des procédures. Les ingénieurs du support technique Microsoft peuvent vous aider à expliquer les fonctionnalités d’une procédure particulière, mais ils ne modifient pas ces exemples pour fournir des fonctionnalités supplémentaires ou construire des procédures pour répondre à vos besoins spécifiques. REMARQUE : Dans les procédures Visual Basic pour Applications, les mots après l’apostrophe (') sont des commentaires.
Pour remplir un tableau, puis le copier dans une feuille de calcul
-
Ouvrez un nouveau classeur et insérez une feuille de module Visual Basic.
-
Tapez le code suivant dans la feuille de module.
Sub Sheet_Fill_Array() Dim myarray As Variant myarray = Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10) Range("a1:a10").Value = Application.Transpose(myarray) End Sub
-
Sélectionnez Feuille1.
-
Dans le menu Outils, pointez sur Macro, puis cliquez sur Macros.
-
Dans la boîte de dialogue Macro, cliquez sur Sheet_Fill_Array, puis sur Exécuter.
Pour prendre des valeurs d’une feuille de calcul et remplir le tableau
-
Tapez des valeurs sur sheet1 dans les cellules A1:A10.
-
Dans une feuille de module Visual Basic, tapez le code suivant :
Sub from_sheet_make_array() Dim thisarray As Variant thisarray = Range("a1:a10").Value counter = 1 'looping structure to look at array While counter <= UBound(thisarray) MsgBox thisarray(counter, 1) counter = counter + 1 Wend End Sub
-
Sélectionnez Feuille1.
-
Dans le menu Outils, pointez sur Macro, puis cliquez sur Macros.
-
Dans la boîte de dialogue Macro, cliquez sur from_sheet_make_array, puis sur Exécuter.
Pour passer et recevoir un tableau
-
Dans une feuille de module, tapez le code suivant :
Sub pass_array() Dim thisarray As Variant thisarray = Selection.Value receive_array (thisarray) End Sub Sub receive_array(thisarray) counter = 1 While counter <= UBound(thisarray) MsgBox thisarray(counter, 1) counter = counter + 1 Wend End Sub
-
Sélectionnez Feuille1 et mettez en surbrillance la plage A1:A10.
-
Dans le menu Outils, pointez sur Macro, puis cliquez sur Macros.
-
Dans la boîte de dialogue Macro, cliquez sur pass_array, puis sur Exécuter.
Pour comparer deux tableaux
-
Créez deux plages nommées sur la feuille Sheet1. Nommez une plage1 et l’autre plage2.
Par exemple, mettez en surbrillance la plage de cellules A1:A10 et nommez-la range1 ; mettez en surbrillance la plage de cellules B1:B10 et nommez-la range2. -
Tapez le code suivant dans la feuille de module.
Sub compare_two_array() Dim thisarray As Variant Dim thatarray As Variant thisarray = Range("range1").Value thatarray = Range("range2").Value counter = 1 While counter <= UBound(thisarray) x = thisarray(counter, 1) y = thatarray(counter, 1) If x = y Then MsgBox "yes" Else MsgBox "no" End If counter = counter + 1 Wend End Sub
-
Sélectionnez Feuille 2.
-
Dans le menu Outils, pointez sur Macro, puis cliquez sur Macro.
-
Dans la boîte de dialogue Macro, cliquez sur compare_two_array, puis sur Exécuter.
Vous verrez une boîte de message pour chaque comparaison.
Pour remplir un tableau dynamique
-
Dans une feuille de module, tapez le code suivant :
Sub fill_array() Dim thisarray As Variant number_of_elements = 3 'number of elements in the array 'must redim below to set size ReDim thisarray(1 To number_of_elements) As Integer 'resizes this size of the array counter = 1 fillmeup = 7 For counter = 1 To number_of_elements thisarray(counter) = fillmeup Next counter counter = 1 'this loop shows what was filled in While counter <= UBound(thisarray) MsgBox thisarray(counter) counter = counter + 1 Wend End Sub
-
Dans le menu Outils, pointez sur Macro, puis cliquez sur Macros.
-
Dans la boîte de dialogue Macro, cliquez sur fill_array, puis sur Exécuter.
REMARQUE : La modification de la variable « number_of_elements » détermine la taille du tableau.