Qu'est-ce qu'un tableau VBA dans Excel et comment en programmer un
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 d' Office la flexibilité d'intégrer les produits Office et d'automatiser le travail que vous y effectuez.
L'un des outils les plus puissants disponibles dans VBA est la possibilité de charger une plage entière 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 un dans votre propre script VBA(your own VBA script) .
Qu'est-ce qu'un tableau VBA ?
L'utilisation d'un tableau VBA dans (VBA)Excel est très simple, mais comprendre le concept de tableaux peut être un peu complexe si vous n'en avez jamais utilisé.
Pensez(Think) à 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 de votre choix.
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 devez écrire 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 entre 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 chiffre 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 n'importe quel type de données sous la forme d'une variable régulière, telle que des chaînes, des booléens, des entiers, des flottants, etc.
Le nombre entre parenthèses peut également être une variable. Les programmeurs utilisent couramment une boucle(Loop) For pour compter toutes les sections d'un tableau et charger les cellules de données de 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 dans lequel vous souhaiterez peut-être charger des informations à partir d'une feuille de calcul dans un tableau multidimensionnel.
À titre d'exemple, examinons une feuille de calcul de vente de produits, dans laquelle vous souhaitez extraire le nom, l'article et la vente totale du représentant commercial de la feuille de calcul.
Notez que dans VBA , lorsque vous référencez des lignes ou des colonnes, vous comptez les lignes et les colonnes(rows and columns) en partant du haut à gauche à 1. Ainsi, la colonne rep est 3, la colonne élément est 4 et la colonne total 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 regard For 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 la valeur de la cellule dans le tableau en utilisant Cells (i, j).Value.
Où insérer votre script de tableau VBA(Your VBA Array Script)
Pour placer programmer un script VBA dans (VBA)Excel , vous devez utiliser l' éditeur VBA . Vous pouvez y accéder en sélectionnant le menu Développeur et en sélectionnant (Developer)Afficher le code(View Code) dans la section Contrôles(Controls) du ruban.
Si vous ne voyez pas le développeur(Developer) dans le menu, vous devrez l'ajouter. Pour ce faire, sélectionnez Fichier(File) et Options pour ouvrir la fenêtre Options Excel.
Modifiez les commandes de choix de la liste déroulante à Toutes les commandes(All Commands) . Sélectionnez Développeur(Developer) dans le menu de gauche et sélectionnez le bouton Ajouter(Add) pour le déplacer vers le volet de droite. Cochez la case pour l'activer et sélectionnez OK pour terminer.
Lorsque la fenêtre de l' éditeur de code(Code Editor) s'ouvre, assurez-vous que la feuille dans laquelle se trouvent vos données est sélectionnée dans le volet de gauche. Sélectionnez Feuille(Worksheet) de calcul dans le menu déroulant de gauche et Activer(Activate) à droite. Cela créera une nouvelle sous-routine appelée Worksheet_Activate ().
Cette fonction s'exécute chaque fois que le fichier de feuille de calcul est ouvert. Collez le code dans le volet de script à l'intérieur de cette sous-routine.
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 à deux dimensions arrMyArray contient toutes les données que vous avez spécifiées à partir de la feuille d'origine.
Manipulation de tableaux dans Excel VBA
Supposons que vous souhaitiez appliquer une taxe de vente de 5 % à tous les prix de vente finaux, puis écrire toutes les données sur 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 sur 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 » l'ensemble du tableau dans Sheet2 , avec une ligne supplémentaire contenant le total multiplié par 5 % pour le montant de la taxe.
La feuille résultante ressemblera à ceci.
Comme vous pouvez le voir, les tableaux VBA dans (VBA)Excel sont extrêmement utiles et aussi polyvalents que n'importe quel autre truc Excel(any other Excel trick) .
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 sur les données que vous y stockez.
Si vous voulez être vraiment créatif, vous pouvez même créer deux tableaux contenant une plage de cellules(containing a range of cells) à partir de deux feuilles différentes et effectuer des calculs entre les éléments de chaque tableau.
Les applications ne sont limitées que par votre imagination.
Related posts
Comment supprimer des lignes vides dans Excel
Comment utiliser la fonctionnalité Speak Cells d'Excel
Comment insérer une feuille de calcul Excel dans un document Word
Comment utiliser l'analyse What-If d'Excel
Comment réparer une ligne dans Excel
Comment partager un fichier Excel pour une collaboration facile
Comment effectuer une recherche dans Excel
Comment faire un graphique à secteurs dans Excel
Un guide VBA avancé pour MS Excel
Comment créer une macro ou un script VBA dans Excel
Comment utiliser les instructions If et If imbriquées dans Excel
Comment créer plusieurs listes déroulantes liées dans Excel
Comment fusionner des données dans plusieurs fichiers Excel
3 façons de diviser une cellule dans Excel
Utilisez le clavier pour modifier la hauteur de ligne et la largeur de colonne dans Excel
10 trucs et astuces Excel pour 2019
Pourquoi devriez-vous utiliser des plages nommées dans Excel
Comment utiliser la fonction PMT dans Excel
Comment utiliser le remplissage Flash dans Excel
Comment trier par date dans Excel