top of page

Comment utiliser les objets sous VBA ?

                  

Formation vba débutant, Paris lyon, marseille. Formation Excel pour entreprise. Cours Excel. Pack Office bureautique
Formation Excel VBA

Niveau : Débutant

Prérequis : avoir un niveau intermédiaire en Excel VBA

Introduction : Formation VBA - Comment utiliser les objets sous VBA ?


VBA est un langage de programmation orienté objet, dans le code, nous manipulons des objets.

Certains objets sont remarquables, car essentiels pour automatiser Excel. Nous allons les découvrirs dans ce cours.


La sécurité des macros en VBA est un domaine sous-évalué en entreprise et pourtant cruciale pour éviter les risques liés à des codes malveillants tout en profitant de leur automatisation.

Excel propose des options comme la gestion des macros signées, les dossiers approuvés, et des niveaux de sécurité configurables.

Sans rentrer dans les détails, nous allons voir les bons réflexes à avoir pour se protéger.


Dans cet article, vous allez voir les fondamentaux d'Excel VBA


Cet article guide le lecteur à travers les bases d'Excel VBA, en expliquant les fonctionnalités essentielles et leur utilisation. Voici les points principaux abordés :


  • Les objets remarquables

  • Sécurité des macros



Les objets vba remarquables

Retour sur le chapitre 1 :

Nous avons vu que l'enregistreur de macro nous a créés

  • Une procédure sub MaMacro ()

  • cette procédure qui

    • commence par Sub

    • fini par End sub

    • Possède, à l'intérieur, du code, que nous avons séparé en deux parties.















Les objets :

VBA est un langage de programmation orienté objet

Dans la vie courante, nous manipulons des objets, une table, une chaise et bien dans vba c'est la même chose, nous manipulons des classeurs, des feuilles, des cellules.

Nous allons les étudier simplement des objets remarquable puis avancer dans la difficulté, mais tous en douceur


Les objets très utiles sont :

  • Application : c'est votre application Excel !

  • Workbook : c'est votre classeur Excel

  • Worksheet : c'est une feuille d'excel

  • Range : c'est une plage de donnée d'excel


Les objets sont :

  • hiérarchisés entre eux

  • Appartiennent à une collection d'objets

  • Possède des méthodes

  • Possède des propriétés

  • Possède parfois des événements 

Nous allons voir cela au fur et à mesure


Les objets sont hiérarchisés entre eux :

Application est le nom de votre objet pour désigner votre application Excel ou l'instance Excel, c’est à partir de lui que tous les autres objets vont se référer


Une plage de donnée (Range) est dans une feuille (worksheet) qui est dans un fichier Excel (Workbook) qui est dans l'application Excel (application)


En code cela donnera une syntaxe suivante

application.workbook.worksheet.range



Les objets appartiennent à une collection d'objets

A l'inverse :

L'application Excel (application) peut contenir plusieurs fichiers Excel(Workbook). Essayez, vous pouvez ouvrir 3 fichiers Excel en même temps.


Une collection c'est un ensemble d’objets similaires (dans notre exemple les fichiers Excel / workbook) qui sont regroupés dans une structure que l'on appelle... collection


L'ensemble des fichiers Excel (Workbook) seront regroupé dans la collection Workbooks

L'ensemble des feuilles Excel (Worksheet) seront regroupé dans la collection WorksheetS

...


Egalement, une collection est un objet qui dépend d'un autre objet.



les objets ont des méthodes

Une méthode est une action qu’un objet peut effectuer.

Par exemple, Sélectionner, copier, supprimer, ajouter, sauvegarder.

Syntaxe : On écrit le nom de l’objet suivi d’un point (.) et de la méthode

le Symbole "." fait référence à un objet qui le précéde.


Par exemple

  • Range("A1:B10").select

Nous avons l'actition "select" qui fait référence à notre Objet Range et plus précisément notre range A1 à B10

Cela aura pour effect de selectionner la plage de donnée indiqué (A1 jusqu'a B10)


les objets ont des propriétés


Une propriété est une caractéristique d'un objet (taille, couleur, position…)

Une propriété célebre est Value

Si vous ne savez pas si vous avez à faire à une propriété ou une méthode, alors selectionné le mot en question et appuyez sur F1. Vous arriverez sur l'aide en ligne d'Excel VBA.


Dans VBA on ne peut faire que 2 choses avec les propriétés :

  • Soit on veut modifier leurs caractéristiques, par exemple modifier la valeur d'une cellule, agrandir la taille de ma ligne. C'est ce qu'on appel le sens de l'ecriture

  • Soit on veut connaitre leurs caratéristiques, par exemple je veux connaitre la valeur de ma cellule, ou la couleur de ma cellule. C'est le sens de lecture


Par exemple nous allons écrire le code suivant :


Range("A1").value = 10

Cette ligne de code, aussi simple que cela peut paraitre est très riche en sens.


Ce code est dans le sens de l'écriture. Après l'exécution de cette ligne, la cellule "A1" contiendra le nombre 10. Exemple en direct.


Comment ça marche ?

Range("A1") : Nous avons notre objet range qui représente la cellule A1

value : C'est la propriété de l'objet Range qui correspond à la valeur dans la cellule A1

= 10 c'est la valeur que nous souhaitons donné à la propriété value.

Après l'exécution de cette ligne, la cellule "A1" contiendra le nombre 10.


Pourquoi ? car ce qui est à droite du symbole égale va donner sa valeur à ce qui est à gauche du égal?



Range("A1").Height=100

.

Attention, cette phrase n'est pas une relation d'égaliter mais une notion d'affectation.

Lorsque qu'en mathématique vous écrivez X = 1 cela veut dire que la valeur de x est de 1.


Ici c'est différent, nous ne sommes à en train de dire que la nouvelle valeur de la cellule A1 sera de 10


Exemple2 : ActiveCell.Height=100

·       'la cellule active (ActiveCell ) aura une hauteur (Height ) de 100



Différence entre propriété et méthode :

  • Une propriété décrit ou modifie une caractéristique d’un objet (ex. : Value, Color).

  • Une méthode est une action réalisée par l’objet (ex. : Select, Copy).



L'objet Range


L’objet Range représente une plage de cellules pouvant être constituée :

·        d’une cellule ;

·        d’une ligne ; d’une colonne ;

·        d’une plage de cellules contiguës (De A1 jusqu'à B10, ce qui comprend A2, A3...) ; d’une plage de cellules disjointes (Uniquement les cellules A1 et B10)


Dans notre exemple, nous avons Range("A1:B10").select

  • Range("A1:B10") : Désigne une plage de cellules qui commence à A1 et se termine à B10.

    • C'est le symbole ":" qui permet de définir que la plage A1 jusqu'à B10

    • Vous remarquerez que A1:B10 est écrit entre guillemet. C'est du texte. Sans les "" cela ne fonctionnerait pas.


  • Select : Indique que cette plage doit être sélectionnée.

    • Select est une méthode. Une méthode est une action ou une opération qu’un objet peut effectuer.

    • Syntaxe : On écrit le nom de l’objet suivi d’un point (.) et de la méthode

      le Symbole "." fait référence à un objet qui le précéde.

    • Il permet de spécifier une action ou une caractéristique pour l'objet référencé.


Cela veut dire que :

  • Pour sélectionner une cellule, je dois utiliser la méthode Select dernière un objet Range

  • Un objet range accepte seulement du texte pour définir l'adresse ou la plage de cellule

  • On écrit toujours de la manière suivante

    • OBJET. Méthode

    • Ici Objet = Range("A1:B10")

    • la méthode : .select

Pour sélectionner uniquement la cellule A1, j'écrirai dans mon code Range("A1").select



Revenons à notre exemple :

Nous avons vu la méthode select d'un objet, nous allons voir maintenant comment fonctionne une propriété.


Nous pouvons écrire le code suivant

Ce code est l'équivalent de

hé oui, l'enregistreur de macro est utile, mais pas forcément efficace !


La ligne Range("A1:B10").Interior.Color = RGB(255, 0, 0) va faire la même chose que les 7 lignes de l'enregistreur de macro


Etudions ce code.

Nous avons 2 blocs:

  • Range("A1:B10").Interior.Color

  •  = RGB(255, 0, 0)



RGB (Red, Green, Blue) est une fonction utilisée pour définir une couleur en combinant les intensités de rouge, de vert et de bleu. Chaque composante (rouge, vert, bleu) est représentée par une valeur comprise entre 0 et 255, où 0 signifie absence de couleur et 255 l’intensité maximale.



  • Range("A1:B10").Interior.Color : défini la couleur de fond (remplissage) des cellules comprises entre A1 et B10.


Nous allons donc mettre en rouge, l'intérieur de la plage A1 à B10




L’objet Workbook = Classeur

Cet objet représente un classeur Microsoft Excel. On peut pointer un Workbook par :

Nom : Le nom du Workbook

·       Workbooks(« Exercice.xlsx »)

Index : Le numéro d'index indique l'ordre dans lequel les classeurs ont été ouverts ou créés.

·        Workbooks(1) 

Le Workbook Actif

·       ActiveWorkbook 

Par le classeur dans lequel le code Visual Basic est exécuté

·        ThisWorkbook : classeur qui contient le code qui sera désigné

 



L’objet Worksheet = feuille de calcul

Cet objet représente une feuille de calcul Excel. Il est membre de la collection Worksheets de l’objet Workbook

Cet objet est renvoyé par les propriétés suivantes de l’objet Application :

·        Par le nom à Worksheets("Europe")

·        Par l’index à Worksheets (1)

o   L'index correspond à la position de l'onglet dans le classeur. La feuille de gauche porte l'index 1

·        Par la feuille active àActiveSheet 

·        Par le CodeName à Feuil2

o   Le CodeName représente le nom de l'objet Feuille dans l'éditeur de macros.

o   Il ne faut pas le confondre avec le nom de l'onglet.

o   Les 2 sont identiques par défaut, mais le CodeName ne change pas lorsque vous modifiez le nom d'un onglet.


Formation VBA excel








Distinction entre Worksheet et Sheet

·       Worksheet représente une feuille de calcul

·       Sheet représente n'importe quelle feuille, quel que soit son type (feuille de calcul, graphique…)


Ecriture entre deux objets :

Application. activeworkbook. ActiveSheet . Range("A1").value = "Bonjour"

 

Est équivalent à

 

Range("A1").value = "Bonjour"

 

On va inscrire dans

  • le Workbook actif

  • de la feuille active

  • dans le range A1

  • le mot « Bonjour »

 


Il n’est pas nécessaire de faire appel à l’objet précédent

·        si celui-ci est unique

·        si c’est objet actif




Vocabulaire Excel et Excel VBA :

Nous abborderons de façon plus approfondie ces notions dans les prochains cours.

Nous vous présentons de façon simple le vocabulaire de se chapitre


  • Propriété : Une caractéristique d’un objet, comme sa couleur ou sa valeur.

  • Méthode : Une action qu’un objet peut exécuter, comme copier ou enregistrer.

  • Collection : Un groupe d’objets similaires, comme toutes les feuilles d’un classeur.

  • Objet : Un élément manipulable en VBA, comme une cellule, une feuille ou un classeur.

  • Application : L’instance Excel elle-même, gérant l’environnement global.

  • Workbook : Un classeur Excel contenant des feuilles et des données.

  • Worksheet : Une feuille de calcul individuelle dans un classeur Excel.

  • Une macro : c'est une séquence d'instructions programmées en VBA (Visual Basic for Applications) qui automatise des tâches répétitives dans Excel ou d'autres applications Office.

  • Une procédure : Une précédure est une macro, c'est un bloc de code autonome qui exécute une série d'instructions




Notre Organisme de Formation :

Excel formation est une marque de Kronoscope organisme de formation certifié QUALIOPI, spécialiste en formation Excel, Excel VBA, Power Query et PowerBI pour entreprise et particulier.

Nous proposons des formations pour l'ensemble des niveaux :


Pour les sociétés, les formations ont lieu directement sur votre lieu de travail partout en France

Nous formons pour les particuliers dans le cadre de formation à distance CPF uniquement.


Nous avons des tests Excel gratuit en ligne pour évaluer votre niveau.

Testez votre connaissance sous Excel à travers un test Excel gratuit et avec correction !

Ce sont des tests réalisés par nos formateurs spécialistes en Excel et sont d'un d'un grand niveau de fiabilité.


Voici l'ensemble des villes où nous pouvons intervenir sans frais de déplacement ni d'hébergement, car nous avons des formateurs locaux.

Formation Excel à Paris, Formation Excel à Marseille, Formation Excel à Lyon, Toulouse, Nice, Nantes, Montpellier, Strasbourg, Bordeaux, Lille, Saint-Étienne, Dijon, Grenoble.


Nous formons pour des entreprises dans le cadre de formation formation excel intra entreprise.

 

Comments


bottom of page