Comment utiliser une feuille de calcul Excel en VBA ?
Dans VBA, l’objet feuille de calcul représente une seule feuille de calcul faisant partie de la collection de feuilles de calcul (ou de feuilles) du classeur. À l’aide de l’objet feuille de calcul, vous pouvez faire référence à la feuille de calcul dans un code VBA, et vous référer à une feuille de calcul, vous pouvez également accéder aux propriétés, méthodes et événements qui s’y rapportent.
Voici un petit aperçu de la position d’une feuille de calcul dans la hiérarchie des objets Excel.
Application ➪ Workbook ➪ Worksheets ➪ Worksheet
Dans ce didacticiel, nous apprendrons à utiliser et à faire référence à une feuille de calcul dans Excel à l’aide d’un code VBA.
Liens utiles : Exécuter une macro – Enregistreur de macros – Visual Basic Editor – Manuel de macros personnelles
Feuilles Vs. Des feuilles de calcul
Commençons par le commencement. Ceci est important pour comprendre la différence entre une feuille de calcul et une feuille. Dans Excel, vous avez des types de feuilles que vous pouvez insérer dans un classeur, et une feuille de calcul est l’un de ces types. Comme vous pouvez le voir dans l’instantané ci-dessous lorsque vous insérez une nouvelle feuille, Excel vous demande de sélectionner le type de feuille.
Voici ce qu’il faut comprendre : lorsque vous utilisez le mot « feuilles », vous faites référence à toutes les feuilles (feuilles de calcul, feuilles de macros et feuilles de graphique), mais lorsque vous utilisez le mot « feuille de calcul », vous ne faites référence qu’aux feuilles de calcul ( voir aussi ).
Accéder à une feuille de calcul (feuille) à l’aide de VBA
VBA vous donne différentes façons d’accéder à une feuille de calcul à partir d’un classeur, et nous verrons plus loin différentes façons de le faire.
1. Faites référence à une feuille en utilisant le nom
Chaque feuille a son nom pour l’identifier, et vous pouvez également l’utiliser pour faire référence à cette feuille. Supposons que vous vouliez vous référer à la « Feuille1 », le code serait :
Sheets(“Sheet1”)
Worksheets(“Sheet1”)
Les deux codes ci-dessus font référence à la « Feuille1 ».
2. Reportez-vous à la feuille en utilisant le numéro
Vous pouvez également utiliser le numéro d’une feuille pour vous y référer. Supposons que si une feuille se trouve en cinquième position dans le classeur, vous pouvez utiliser ce numéro pour vous y référer.
Sheets (5)
Worksheets (5)
Maintenant, ci-dessus, deux lignes de code fonctionnent de deux manières différentes. La première ligne fait référence à la 5e feuille et la deuxième à la 5e feuille de calcul du classeur.
3. Reportez-vous à l’ActiveSheet
Si une feuille est déjà active, vous pouvez vous y référer en utilisant le mot-clé « Activesheet » au lieu de son nom.
ActiveSheet
Si vous souhaitez effectuer une activité dans ActiveSheet, vous pouvez utiliser l’objet « Activesheet », mais si vous ne l’utilisez pas, VBA effectuera toujours l’activité dans la feuille active.
Lire : sélectionnez une plage à l’aide de VBA
4. Reportez-vous à une feuille en utilisant le nom de la fenêtre de code
Chaque feuille a sa fenêtre de code, et il y a un nom à cette fenêtre de code. Habituellement, un utilisateur peut modifier le nom de la feuille à partir de l’onglet, mais le nom que vous avez dans la fenêtre de code ne peut pas être modifié à moins que vous ne le fassiez à partir des propriétés.
Ouvrez Visual Basic Editor à partir de l’onglet Développeur et, dans la section des propriétés, vous pouvez voir le nom de la feuille que vous avez sélectionnée.
Et vous pouvez également modifier ce nom à partir de la section des propriétés.
Vous pouvez maintenant vous y référer en utilisant le nom de la fenêtre de code.
mySheet
5. Reportez-vous à plusieurs feuilles
Vous pouvez également faire référence à plusieurs feuilles en une seule fois en utilisant une seule ligne de code. Pour cela, vous pouvez utiliser un tableau, tout comme le code suivant.
Sheets(Array("Sheet1", "Sheet2"))
Ce code fait référence à « Sheet1 » et « Sheet2 », mais il y a une chose que vous devez comprendre lorsque vous faites référence à plusieurs feuilles, il existe quelques méthodes et propriétés que vous ne pouvez pas utiliser.
6. Reportez-vous à la feuille dans un autre classeur
Une feuille de calcul ou une feuille fait partie de la collection de feuilles de calcul dans un classeur, et si vous souhaitez faire référence à une feuille spécifique autre que le classeur actif, vous devez d’abord vous référer à ce classeur.
Workbooks("Book1").Sheets("Sheet1")
Pour exécuter ce code , vous devez avoir « Book1 » ouvert.
Propriétés, méthodes et événements liés à une feuille ou à une feuille de calcul
Dans VBA, chaque objet Excel possède des propriétés, des méthodes et des événements que vous pouvez utiliser, et de la même manière, vous pouvez accéder aux propriétés et aux méthodes qui l’accompagnent. Une fois que vous avez spécifié une feuille de calcul, tapez un point (.) et vous obtiendrez la liste.
Dans cette liste, toutes les icônes où vous pouvez voir une main sont des propriétés, et où vous avez une brique verte sont des méthodes.
Exemple de propriété
Supposons que vous souhaitiez modifier la couleur de l’onglet de la feuille de calcul. Dans ce cas, vous pouvez utiliser la propriété TAB de la feuille de calcul.
mySheet.Tab.ThemeColor = xlThemeColorAccent2
Dans la ligne de code ci-dessus, vous avez la propriété tab et une autre propriété de couleur de thème pour changer la couleur de l’onglet de la feuille de calcul.
Exemple de méthode
De la même manière, vous pouvez utiliser les méthodes fournies avec les feuilles de calcul. L’une des méthodes les plus courantes est la méthode « Sélectionner » que vous pouvez utiliser pour sélectionner une feuille.
mySheet.Select
Au moment où vous exécutez ce code, il sélectionne « mySheet » dans le classeur actif.
Exemple d’événement
Certains événements sont associés à une feuille de calcul. Par exemple, lorsque vous activez une feuille, c’est un événement, et de la même manière, lorsque vous modifiez quelque chose dans la feuille. Consultez le code suivant où vous avez du code à exécuter lorsqu’un événement (changement dans la feuille de calcul) se produit.
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Range("A1").Value = Range("A1").Value + 1
End Sub
Ce code entre une valeur dans la cellule A1 de la feuille chaque fois que vous apportez une modification dans la feuille de calcul.
Déclarer un objet feuille de calcul
Vous pouvez également déclarer une variable en tant que feuille de calcul, ce qui facilite l’utilisation de cette feuille de calcul dans un code VBA. Utilisez d’abord le mot-clé DIM, puis le nom de la variable. Après cela, spécifiez le type d’objet en tant que feuille de calcul.