On déclare une variable de type Worksheet (feuille) pour ensuite manipuler la feuille avec la variable.
Par exemple, on crée la variable feuilleEquipe :
Dim feuilleEquipe As Worksheet
2 | Affecter une feuille
Préciser le classeur
Une feuille fait partie d’un classeur. On doit donc préciser un objet de type Workbook (classeur) dans lequel se trouve la feuille (dans ce document, nous désignons ici cet objet Classeur).
La feuille est déjà créée
Set feuilleEquipe = Classeur.Worksheets("Equipe")
OU
Set feuilleEquipe = Classeur.ActiveWorksheet
OU
Set feuilleEquipe = Classeur.Worksheets(2)
La feuille doit être créée
Set feuilleEquipe = Classeur.Worksheets.Add
3 | Manipuler une feuille
Renommer une feuille
Renommer la feuille :
feuilleEquipe.Name = "Equipe1"
Copier une feuille
Copie la feuille feuilleEquipe après la feuille "Zone"
feuilleEquipe.Copy After:= Worksheets("Zone")
Sitôt le déplacement, placer la nouvelle feuille dans une variable objet de type Feuille
Copier une feuille dans un nouveau classeur
feuilleEquipe.Copy
Excel crée un nouveau classeur et y place une copie de la feuille
Copier une feuille dans un autre classeur
Copie la feuille Équipe dans le classeur ouvert client.xls, avant la 1ère feuille.
Déplace la feuille wsEquipe après la feuille Zone :
feuilleEquipe.Move After:= Worksheets("Zone")
Déplacer une feuille dans un nouveau classeur
Immédiatement après le déplacement de la feuille, il faut affecter la feuille déplacé dans la variable feuilleEquipe.
feuilleEquipe.Move
Set feuilleEquipe=ActiveSheet
Activer une feuille
feuilleEquipe.Activate
Imprimer une feuille
feuilleEquipe.PrintOut
Supprimer une feuille
Avant de supprimer la feuille, on désactive l’affichage du message demandant confirmation de la suppression, puis on demande à ce que le message soit réaffiché.
Application.DisplayAlerts=False
feuilleEquipe.Delete
Application.DisplayAlerts=True
Changer la couleur de l'onglet de la feuille
feuilleEquipe.Tab.Color = 255
Le rouge a la couleur 255.
3 | b | Manipuler plusieurs feuilles
Déclarer d’abord une variable qui contiendra une des feuilles à chaque passage dans la boucle For… Next :
Dim feuille As Worksheet
Mettre ensuite en place la boucle :
For Each feuille in Classeur.Worksheets
(code à appliquer sur ws…)
Next
Entre le For Each et le Next, la variable ws permet de manipuler une feuille du classeur. Par exemple :
ws.Delete
permet de supprimer la feuille.
Fonctions personnalisées
Vérifier si une feuille existe
Coller ce code dans un module (pas un module de feuille)
Function EstFeuilleExiste(sName) As Boolean
Dim x As Object
On Error Resume Next
Set x = ActiveWorkbook.Sheets(sName)
If Err = 0 Then EstFeuilleExiste = True Else EstFeuilleExiste = False