VBA fait partie de la suite Microsoft Office depuis de nombreuses années. Bien qu'il ne dispose pas de toutes les fonctionnalités et de la puissance d'une application VB complète, VBA offre aux utilisateurs Office la flexibilité nécessaire pour intégrer les produits Office et automatiser le travail que vous y faites.
L'un des outils les plus puissants disponible dans VBA est la possibilité de charger une gamme complète de données dans une seule variable appelée tableau. En chargeant les données de cette manière, vous pouvez manipuler ou effectuer des calculs sur cette plage de données de différentes manières.
Qu'est-ce qu'un tableau VBA? Dans cet article, nous répondrons à cette question et vous montrerons comment en utiliser une dans votre propre script VBA.
Qu'est-ce qu'un tableau VBA?
Utilisation d'un VBA tableau dans Excel est très simple, mais comprendre le concept de tableaux peut être un peu complexe si vous n'en avez jamais utilisé.
Imaginez un tableau comme une boîte avec des sections à l'intérieur. Un tableau unidimensionnel est une boîte avec une ligne de sections. Un tableau à deux dimensions est une boîte avec deux lignes de sections.
Vous pouvez mettre des données dans chaque section de cette "boîte" dans l'ordre que vous voulez.
In_content_1 all: [300x250] / dfp: [640x360]->Au début de votre script VBA, vous devez définir cette "boîte" en définissant votre tableau VBA. Donc, pour créer un tableau pouvant contenir un ensemble de données (un tableau à une dimension), vous écririez la ligne suivante.
Dim arrMyArray(1 To 6) As String
Plus tard dans votre programme, vous pouvez placer des données dans n'importe quelle section de ce tableau en référençant la section à l'intérieur des parenthèses.
arrMyArray(1) = "Ryan Dube"
Vous pouvez créer un tableau à deux dimensions en utilisant la ligne suivante.
Dim arrMyArray(1 To 6,1 to 2) As Integer
Le premier nombre représente la ligne et le second la colonne. Ainsi, le tableau ci-dessus peut contenir une plage de 6 lignes et 2 colonnes.
Vous pouvez charger n'importe quel élément de ce tableau avec des données comme suit.
arrMyArray(1,2) = 3
Cela chargera un 3 dans la cellule B1.
Un tableau peut contenir tout type de données en tant que variable régulière, comme des chaînes, des booléens, des entiers, des flottants et plus encore.
Le le nombre entre parenthèses peut également être une variable. Les programmeurs utilisent généralement une boucle For pour compter dans toutes les sections d'un tableau et charger des cellules de données dans la feuille de calcul dans le tableau. Vous verrez comment procéder plus loin dans cet article.
Comment programmer un tableau VBA dans Excel
Jetons un coup d'œil à un programme simple où vous voudrez peut-être charger des informations à partir d'une feuille de calcul dans un tableau multidimensionnel.
À titre d'exemple, regardons une feuille de calcul des ventes de produits, où vous voulez extraire le nom du représentant, l'article et la vente totale de la feuille de calcul.
Notez que dans VBA lorsque vous référencez des lignes ou des colonnes, vous comptez lignes et colonnes en partant du coin supérieur gauche à 1. La colonne représentant est donc 3, la colonne d'élément est 4 et la colonne totale est 7.
Pour charger ces trois colonnes sur les 11 lignes, vous devrez écrire le script suivant.
Dim arrMyArray(1 To 11, 1 To 3) As String
Dim i As Integer, j As Integer
For i = 2 To 12
For j = 1 To 3
arrMyArray(i-1, j) = Cells(i, j).Value
Next j
Next i
Vous remarquerez que pour ignorer la ligne d'en-tête, le numéro de ligne dans le premier For look doit commencer à 2 plutôt qu'à 1. Cela signifie que vous devez soustraire 1 pour la valeur de la ligne du tableau lorsque vous chargez le valeur de cellule dans le tableau à l'aide de Cellules (i, j) .Valeur.
Où insérer votre script de tableau VBA
Pour placer un programme un script VBA dans Excel, vous devez utiliser le Éditeur VBA. Vous pouvez y accéder en sélectionnant le menu Développeuret en sélectionnant Afficher le codedans la section Contrôles du ruban.
Si vous ne voyez pas le développeur dans le menu, vous devrez ajoutez-le. Pour ce faire, sélectionnez Fichieret Optionspour ouvrir la fenêtre Options Excel.
Modifiez les commandes de sélection du menu déroulant en Toutes les commandes. Sélectionnez Développeurdans le menu de gauche et sélectionnez le bouton Ajouterpour le déplacer dans le volet de droite. Cochez la case pour l'activer et sélectionnez OKpour terminer.
Lorsque la fenêtre de l'éditeur de code s'ouvre, assurez-vous que la feuille dans laquelle se trouvent vos données est sélectionnée dans le volet gauche. Sélectionnez Feuille de calculdans la liste déroulante de gauche et Activerdans la droite. Cela créera un nouveau sous-programme appelé Worksheet_Activate ().
Cette fonction s'exécutera chaque fois que le fichier de feuille de calcul sera ouvert. Collez le code dans le volet de script à l'intérieur de ce sous-programme.
Ce script fonctionnera sur les 12 lignes et chargera le nom du représentant de la colonne 3, l'article de la colonne 4 et la vente totale de la colonne 7.
Une fois les deux boucles For terminées, le tableau bidimensionnel arrMyArray contient toutes les données que vous avez spécifiées à partir de la feuille d'origine.
Manipulation des tableaux dans Excel VBA
Supposons que vous souhaitiez appliquer une taxe de vente de 5% à tous les prix de vente finaux , puis écrivez toutes les données dans une nouvelle feuille.
Vous pouvez le faire en ajoutant une autre boucle For après la première, avec une commande pour écrire les résultats dans une nouvelle feuille.
For k = 2 To 12
Sheets("Sheet2").Cells(k, 1).Value = arrMyArray(k - 1, 1)
Sheets("Sheet2").Cells(k, 2).Value = arrMyArray(k - 1, 2)
Sheets("Sheet2").Cells(k, 3).Value = arrMyArray(k - 1, 3)
Sheets("Sheet2").Cells(k, 4).Value = arrMyArray(k - 1, 3) * 0.05
Next k
Cela "déchargera" tout le tableau dans Sheet2, avec une ligne supplémentaire contenant le total multiplié par 5% pour le montant de la taxe.
Le la feuille résultante ressemblera à ceci.
Comme vous pouvez le voir, les tableaux VBA dans Excel sont extrêmement utiles et aussi polyvalents que toute autre astuce Excel.
L'exemple ci-dessus est une utilisation très simple pour un tableau. Vous pouvez créer des tableaux beaucoup plus grands et effectuer un tri, une moyenne ou de nombreuses autres fonctions par rapport aux données que vous y stockez.
Si vous voulez être vraiment créatif, vous pouvez même créer deux tableaux contenant une gamme de cellules à partir de deux feuilles différentes, et effectuez des calculs entre les éléments de chaque tableau.
Les applications ne sont limitées que par votre imagination.