Excel - Power Query - Power Pivot - VBA
VB Excel

icon picker
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 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.
feuilleEquipe.Copy Before:= Classeur.Worksheets(1)

Déplacer une 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
End Function
On peut utiliser cette fonction ainsi :
If EstFeuilleExiste(”Janvier”) Then
(code)
End If

Résumé

image.png
Want to print your doc?
This is not the way.
Try clicking the ⋯ next to your doc name or using a keyboard shortcut (
CtrlP
) instead.