Activer la feuille de calcul dans Excel en VBA
Cet article nous aide à comprendre comment activer la feuille de calcul dans Excel dans VBA à l’aide de quelques exemples.
Activer la feuille de calcul dans Excel en VBA
Lorsque vous travaillez dans VBA avec des fichiers Excel, il existe plusieurs feuilles. Si nous voulons exécuter le même processus ou la même fonction sur toutes les feuilles d’un ou de plusieurs fichiers Excel, nous devons activer une autre feuille avant d’exécuter une fonction.
Il faut du temps pour écrire du code pour chaque feuille séparément encore et encore.
A cet effet, VBA fournit une méthode, Activate
, qui peut être utilisée pour rendre n’importe quelle feuille active tout en travaillant sur Excel.
Passons en revue un exemple dans lequel nous utiliserons la méthode de feuille de calcul VBA activate
pour faire de la feuille une feuille active. Cette méthode est largement utilisée lorsque nous écrivons des macros VBA.
Nous pouvons utiliser soit le nom, soit le numéro de la feuille de travail. La meilleure façon est d’utiliser le nom de la feuille.
Sub activateNewSheet()
Worksheets("Sheet2").Activate
'Worksheets(2).Activate
End Sub
Cela fera de la Sheet2
ou de la deuxième feuille du fichier Excel une feuille de calcul active.
Objet ActiveSheet
dans VBA
Imaginez si notre feuille courante est active ou si nous avons activé une autre feuille dans notre code à l’aide de la méthode Activate
. Nous voulons mentionner la feuille actuellement active pour effectuer certaines tâches.
Nous pouvons facilement le mentionner à l’aide d’un objet spécialement conçu pour la feuille active comme ActiveSheet
.
Si nous travaillons sur des graphiques ou des tableaux et avons oublié quelle feuille est active en ce moment, nous pouvons utiliser le code suivant pour mentionner directement la feuille actuellement active dans VBA. Nous pouvons utiliser deux options pour exécuter la fonction sur la feuille active, comme indiqué ci-dessous.
Sub addValueActiveSheet()
ActiveSheet.Range("B1")="Value"
Range("B1")="Value"
End Sub
Production:
Comme vous pouvez le voir dans le code ci-dessus, nous avons utilisé deux méthodes, et les deux ont donné le même résultat car peu importe que nous mentionnions la feuille active.
Une fois que nous avons défini une feuille comme feuille active, le code suivant sera automatiquement implémenté sur la même feuille.
Définir ActiveSheet
dans VBA
Parlons maintenant de la configuration de ActiveSheet
dans VBA. Il est utile de mentionner la feuille active dans Excel VBA en la définissant dans une variable.
Nous pouvons définir et attribuer une feuille active à un objet et utiliser cet objet pour mentionner la feuille active où nous le voulons. Nous pouvons le mentionner à n’importe quel moment de la procédure.
Le code ci-dessous imprimera une valeur à la plage B1
de la feuille active.
Sub setActivSheet()
Dim active As Worksheet
Set active = ActiveSheet
active.Range("B1") = "Value"
End Sub
Production: