Manipuler les feuilles de calculs en VBA avec l’objet Worksheet [#26 FORMATION EXCEL VBA COMPLETE]

Après avoir découvert dans le chapitre précédent toutes les manières de manipuler des cellules en VBA avec l’objet Range, nous nous retrouvons maintenant dans ce nouveau chapitre de la formation sur l’apprentissage du VBA pour découvrir comment manipuler l’objet Worksheet. Il s’agit de l’objet parent de l’objet Range qui va nous permettre cette fois-ci d’être en mesure de manipuler directement la feuille de calcul en cours de travail.

 

Téléchargement

Vous pouvez télécharger le fichier d'exemple de cet article en cliquant sur le lien suivant :

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.
 

 

Tutoriel Vidéo

Vous trouverez très régulièrement de nouvelles vidéos sur la chaîne, alors pensez à vous abonner pour ne manquer aucune astuce et devenir rapidement un pro d’Excel (cliquez-ici) !

 

1. Présentation

Pour manipuler des feuilles de calcul en VBA, nous utilisons l’objet Worksheet.

Toutes les feuilles de calcul d’un classeur sont réunies dans la collection Worksheets (au pluriel, avec un « s ») dépendant de l’objet parent Workbook (le classeur dans sa globalité).

Il s’agit de la collection qui contient toutes les feuilles de calcul du classeur.

Il s’agit également d’un membre de la collections Sheets qui en plus de détenir les feuilles de calculs (tout comme Worksheets) contient également les feuilles de graphiques.

Pour utiliser un objet Worksheet, nous pouvons indifféremment utiliser l’une de ces deux collections :

Sub manipulerLaFeuille()



' Masquer puis afficher la feuille de calculs

' en utilisant son numéro d'index

Worksheets(22).Visible = False

Sheets(22).Visible = True



End Sub

Ici nous utilisons l’index de la feuille, c’est-à-dire son numéro d’apparition dans la barre des onglets de l’interface Excel.

Nous utilisons une première fois la propriété Visible de la collection Worksheets pour masquer la 22ème feuille de calcul, puis nous la réaffichons en utilisant la même propriété, mais cette fois-ci en appelant la feuille de calcul contenue dans la collection Sheets.

Evidemment, connaître le numéro d’index d’une feuille de calcul peut vite devenir fastidieux, d’autant plus qu’il suffit de déplacer les feuilles dans le classeur pour que ce numéro en vienne à être modifié.

C’est pourquoi il est également possible d’appeler une feuille de calculs en utilisant le nom donné par l’utilisateur depuis l’interface d’Excel :

Sub manipulerLaFeuille()



' Masquer puis afficher la feuille de calculs

' en utilisant son numéro d'index

Worksheets(22).Visible = False

Sheets(22).Visible = True



End Sub

 

Excel formation - VBA26 - Les feuilles de calcul - 01

Le nom de la feuille se retrouve directement dans la fenêtre des propriétés.

Mais évidemment, si nous changeons le nom de la feuille depuis Excel, alors la macro ne pourra plus détecter la bonne feuille et la macro devient alors inutilisable !

La troisième méthode pour appeler une feuille de calculs consiste à utiliser son « nom de code » directement :

Excel formation - VBA26 - Les feuilles de calcul - 02

Ce nom de code ne pouvant être modifié que depuis VBA, il ne risque pas d’être modifié par inadvertance depuis Excel.

 

2. Activesheet : manipuler la feuille en cours

 

Tout comme il existe des objets Range particuliers (Selection, ActiveCell), il est tout à fait possible d’appeler la feuille de calcul actuellement active avec l’objet Activesheet :

Excel formation - VBA26 - Les feuilles de calcul - 03

Ici, nous commençons par sélectionner la feuille Feuil22 en l’appelant par son nom, puis nous affichons le contenu de la cellule A3 de cette même feuille dans la fenêtre d’Exécution.

 

3. Les principales méthodes

Voici une liste des principales méthodes de l’objet Worksheets à connaître pour développer des macros VBA :

Activate

Permet de sélectionner une feuille de calcul

Calculate

Recalculer toutes les cellules de la feuille de calcul

Copy

Copier la feuille de calcul

Paste

Coller les cellules copiées dans une feuille de calcul

Delete

Supprimer une feuille de calcul

Protect / Unprotect

Protéger ou déprotéger une feuille de calcul

 ' Lire la cellule A3 de la feuille Feuil22

With Feuil22

.Activate ' Activer la feuille 22

.Calculate ' Recalculer toutes les cellules de la feuille de calcul

.Copy ' Dupliquer la feuille

.Protect "motDePasse" ' Protéger

.Unprotect "motDePasse" ' Déprotéger

.Delete ' Supprimer la feuille

End With

 

Notes :

  • Sans argument, la propriété méthode duplique la feuille de calcul en tant que nouveau classeur,
  • La suppression d’une feuille demande par défaut une confirmation de la part de l’utilisateur :

Excel formation - VBA26 - Les feuilles de calcul - 04

 

4. Les principales propriétés

Voici une liste des principales propriétés de l’objet Worksheet :

Visible

Afficher ou masquer une feuille de calcul

Range / Cells

Permet de manipuler les cellules, comme nous l’avons déjà étudié dans le chapitre précédent

Calculate

Recalculer toutes les cellules de la feuille de calcul

Columns / Rows

Manipuler une colonne ou une ligne

Index

Récupérer le numéro d’index d’une feuille

Name

Obtenir ou modifier le nom d’une feuille de calcul

UsedRange

Obtenir une plage de cellule contenant toutes les cellules utilisées sur la feuille de calcul

 ' LISTE DES PROPRIETES

.Range("A8") = "Excelformation.fr" ' Insérer du texte en cellule A8

.Cells(9, "A") = "Excelformation.fr" ' Insérer du texte en cellule A9

.[A10] = "Excelformation.fr" ' Insérer du texte en cellule A10

.Calculate ' Procéder aux calculs de la feuille

.Rows(12).Interior.ColorIndex = 10 ' Manipuler une ligne

.Columns(12).Interior.ColorIndex = 10 ' Manipuler une colonne

Debug.Print "Feuille", .Name, .Index ' Obtenir l'index et le nom de la feuille

MsgBox "Cellules utilisées : " & .UsedRange.Address ' Obtenir les coordonnées de la plage des cellules utilisées 

 

 

 



Articles qui pourraient vous intéresser

Créons nos propres types de variables en VBA [#11 FORMATION EXCEL VBA COMPLETE]

Les tableaux de VBA [#27 FORMATION EXCEL VBA COMPLETE]

COMMENT UTILISER LES FONCTIONS HEURE, MINUTE, SECONDE ET TEMPS D’EXCEL

Les tableaux croisés dynamiques, c’est facile !

Commentaires

Il n'y a aucun commentaire...

Poster un commentaire

Pseudo
Commentaire

Contact - Plan du site - À propos - Contact

© Excel-Formation 2018 - Excel, simplement

Haut de la page

Excelformation.fr propose de nombreuses formations pratiques et gratuites sur Microsoft Excel : des cours pour apprendre à structurer et analyser les données, des tutos sur les fonctions avancées, les formules et les formules avancées d'Excel, les formules matricielles, les mise-en-formes conditionnelles, les graphiques Excel (xls, xlsx, xlsm,…). Des tutoriels pour apprendre à automatiser les tâches répétitives (via des macro-commandes en VBA) de vos classeurs Excel.