Feuilles
1 | Déclarer une feuille
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 Worksheet2 | 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.ActiveWorksheetOU
Set feuilleEquipe = Classeur.Worksheets(2)La feuille doit être créée
Set feuilleEquipe = Classeur.Worksheets.Add3 | 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:= Classeur.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.CopyExcel 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.
feuilleEquipe.Copy Before:= Classeur.Worksheets(1)Déplacer une feuille
Déplace la feuille wsEquipe après la feuille Zone :
feuilleEquipe.Move After:= Classeur.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=ActiveSheetActiver une feuille
feuilleEquipe.ActivateImprimer une feuille
feuilleEquipe.PrintOutSupprimer 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=TrueChanger la couleur de l'onglet de la feuille
feuilleEquipe.Tab.Color = 255Le 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 WorksheetMettre ensuite en place la boucle :
For Each feuille in Classeur.Worksheets
(code à appliquer sur ws…)
NextEntre le For Each et le Next, la variable ws permet de manipuler une feuille du classeur. Par exemple :
ws.Deletepermet 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
End FunctionOn peut utiliser cette fonction ainsi :
If EstFeuilleExiste(”Janvier”) Then
(code)
End IfRésumé
