TOP

VBA-Leçon 1. Qu'est-ce que VBA. Concepts de base.

YouLibreCalc for Excel logo

Dans cette section, nous examinerons ce qu'est VBA, puisque des macros y sont écrites.

Qu'est-ce que VBA ?

VBA est un langage de programmation intégré (signifie Visual Basic for Applications) développé par Microsoft. Ce langage n'est pas indépendant, mais destiné uniquement à automatiser les processus du package MS Office. VBA est largement utilisé dans Excel, ainsi que dans Access, Word et d'autres programmes de la suite.

VBA est un langage de programmation simple que tout le monde peut apprendre. Une fois que vous l'aurez appris, vous serez en mesure de donner des commandes Excel, de savoir quoi faire avec les colonnes, les lignes, les valeurs de cellules, de déplacer/ajouter/trier des feuilles de calcul, d'afficher des messages préprogrammés, d'écrire vos propres formules et fonctions, et plus encore. L’essence du langage est d’opérer sur des objets.

Pour travailler avec le code VBA, nous avons besoin d'un éditeur (Visual Basic Editor), qui est déjà installé par défaut dans Excel. Vous pouvez l'ouvrir en appuyant sur la combinaison de touches "Alt+F11".

Objets (Objects)

Comprenons ce qu'est un objet dans VBA.

VBA Un objet est un élément, une particule structurelle Excel, à savoir : livre, feuille, plage, cellule.

Les objets VBA ont une hiérarchie, c'est-à-dire qu'ils sont subordonnés les uns aux autres. Schématiquement, la structure hiérarchique dans Excel peut être représentée comme suit :

L'objet le plus important est Application, qui correspond au programme Excel lui-même. Vient ensuite Workbook (livre), Worksheet (feuille), Range (plage ou cellule individuelle).

Par exemple, pour faire référence à la cellule « A1 » dans la feuille de calcul, il faudrait écrire le chemin suivant, en tenant compte de la hiérarchie :

Application.Workbooks("Archive").Worksheets("Sheet1").Range("A1")

Ainsi, nous avons appris à faire référence au plus petit objet de Excel - une cellule.

Collections (Collections)

À leur tour, les objets VBA appartiennent à des « collections ».

VBA Une collection est un groupe (tableau) d'objets de la même classe (un ensemble de livres, de feuilles, etc.). Oui, tous les objets Worksheet sont des éléments de la collection Worksheets. À son tour, la collection est aussi un objet.

Les mêmes objets peuvent appartenir à plusieurs collections. Par exemple, les objets Worksheet appartiennent également à la collection Sheets. La collection Sheets contient toutes les feuilles du classeur - à la fois des graphiques, qui sont également considérés comme des feuilles (Chart) et des feuilles de données (Worksheet).

Les collections suivantes existent dans VBA Excel :

  • Workbooks (contient des objets Workbook)
  • Worksheets (objets Worksheet)
  • Sheets (objets Worksheet et Chart)
  • Ranges (objets Ranges)
  • ChartObjects (objets ChartObject)
  • PivotTable (objets PivotTable)
  • et plein d'autres...
  • Propriétés (Properties)

    Chaque objet dans VBA a des propriétés. Par exemple, un objet Range possède une propriété Value ou Formula.

    Worksheets("Sheet1").Range("A1").Value ou Worksheets("Sheet1").Range("A1").Formula

    Dans cet exemple, la propriété affiche la valeur saisie dans la cellule ou la formule saisie.

    De plus, grâce à la propriété Formula, vous pouvez non seulement obtenir la formule, mais également l'écrire :

    MsgBox Range("A1").Formula - nous recevrons un message avec la formule dans la cellule "A1" ;

    Range("B12").Formula = "=2+6*100" - entrez la formule "=2+6*100" dans la cellule "B12".

    Méthodes (Methods)

    Voyons maintenant comment manipuler le contenu d'une plage ou d'une cellule. Pour cela, il existe des méthodes dites (commandes "que faire") dans VBA. Lors de l'écriture de code, les méthodes sont séparées de l'objet par un point, par exemple :

    Range("A1").Select ou Cells(1,1).Select

    Cette méthode spécifie de sélectionner (Select) la cellule "A1".

    Ensuite, supprimons la valeur de cette cellule. Pour cela, nous écrirons le code suivant.

    Selection.ClearContents

    Ici, le programme "prend" ce que nous avons sélectionné (Selection) et efface son contenu (ClearContents).