VBA ActiveSheet et comment activer ou sélectionner une feuille

Cet article traite de l'objet ActiveSheet dans VBA. Il expliquera également comment activer, sélectionner et accéder aux feuilles de travail (et bien plus encore). Lisez notre guide complet des feuilles de calcul VBA pour plus d'informations sur l'utilisation des feuilles de calcul dans VBA.

Feuille active

Dans VBA, ActiveSheet fait référence à la feuille de calcul actuellement active. Une seule feuille peut être active à la fois.

Activer la feuille de calcul (définir l'ActiveSheet)

Pour définir ActiveSheet, utilisez Worksheet.Activate :

1 Feuilles de calcul("Entrée").Activer

La commande Activer la feuille va en fait « aller à » la feuille, en changeant la feuille visible.

L'exemple ci-dessus utilise le nom Sheet (Tab). Au lieu de cela, vous pouvez utiliser le nom de code VBA pour la feuille de calcul :

1 Feuille1.Activer

Nom de la feuille active

Pour obtenir le nom ActiveSheet :

1 msgbox ActiveSheet.nom

Feuilles sélectionnées vs ActiveSheet

À tout moment, une seule feuille peut être la feuille active. Cependant, plusieurs feuilles de calcul peuvent être sélectionnées à la fois.

Lorsque plusieurs feuilles de calcul sont sélectionnées, seule la feuille de calcul « la plus élevée » est considérée comme active (la feuille active).

Sélectionner une feuille de calcul

Si vous souhaitez sélectionner une feuille de calcul au lieu de l'activer. Utilisez .Select à la place.

Sélectionnez la feuille de calcul par nom d'onglet

Cela sélectionne une feuille de calcul en fonction de son nom d'onglet de feuille

1 Feuilles("Entrée").Sélectionnez

Sélectionnez la feuille de calcul par numéro d'index

Cela sélectionne une feuille de calcul en fonction de sa position par rapport aux autres onglets

1 Feuilles de travail(1).Sélectionnez

Sélectionnez la feuille de calcul avec le nom de code VBA

1 Feuille1.Sélection

La sélection de feuilles de calcul par nom de code peut éviter les erreurs causées par les changements de nom de feuille de calcul.

Sélectionner la feuille de calcul actuelle

Pour sélectionner la feuille de calcul actuelle, utilisez l'objet ActiveSheet :

1 ActiveSheet.Select

Plus d'exemples d'activation/sélection de feuilles

Définir ActiveSheet sur Variable

Cela affectera l'ActiveSheet à une variable d'objet de feuille de calcul.

123 Dim ws As Feuille de calculDéfinir ws = ActiveSheet

Changer le nom de la feuille active

Cela changera le nom ActiveSheet.

1 ActiveSheet.Name = "NouveauNom"

Avec ActiveSheet

L'utilisation de l'instruction With vous permet de rationaliser votre code lorsque vous travaillez avec des objets (tels que Sheets ou ActiveSheet).

12345 Avec ActiveSheet.Name = "StartFresh".Cellules.Effacer.Range("A1").Valeur = .NomTerminer par

Remarquez que vous n'avez pas besoin de répéter "ActiveSheet" avant chaque ligne de code. Cela peut être un gain de temps considérable lorsque vous travaillez avec une longue liste de commandes.

Parcourir les feuilles sélectionnées

La macro suivante parcourra toutes les feuilles sélectionnées, affichant leurs noms.

12345678 Sub GetSelectedSheetsName()Dim ws As Feuille de calculPour chaque ws dans ActiveWindow.SelectedSheetsMsgBox ws.NameWS suivantFin du sous-marin

Aller à la feuille suivante

Ce code ira à la feuille suivante. Si ActiveSheet est la dernière feuille, elle ira à la première feuille du classeur.

12345 Si ActiveSheet.Index = Worksheets.Count ThenFeuilles de travail(1).ActiverAutreActiveSheet.Next.ActivateFin si

Vous contribuerez au développement du site, partager la page avec vos amis

wave wave wave wave wave