Un classeur contient des feuilles. Pour les manipuler, nous allons utiliser l’objet Worksheet.
Types de feuilles
Un classeur peut contenir des feuilles de calculs (Worksheets) et des feuilles de graphiques (Charts). Ces deux objets sont font partie de la collection Sheets. SI vous manipulez des feuilles de calculs, utilisez la collection Worksheets.
Désigner la feuille à manipuler
Déclarer une feuille
Nous allons manipuler des feuilles contenant des ventes par secteur (Nord, sud…)
Créer une feuille
Nous créons une feuille dans le classeur actif et la plaçons dans la variable wsNord :
Dim wsNord As Worksheet Set wsNord = ActiveWorkbook.Worksheets.Add
Voici comment créer une feuille dans un nouveau classeur :
Dim wbVente As Workbook Set wbVente = Worksheets.Add Set wsNord = wbVente.Worksheets.Add
La variable wsNord contient alors la nouvelle feuille.
Désigner une feuille par son numéro
Si la feuille à manipuler est la première en partant de la gauche, utilisez cette syntaxe :
Set wsNord = wbVente.Workbooks(1)
Désigner une feuille par son nom
Si la feuille à manipuler se nomme « Nord », utilisez cette syntaxe :
Set wsNord = wbVente.Workbooks("Nord")
Principales actions sur une feuille
Copier/déplacer une feuille
Dans tous ces exemples, on utiliser la méthode Copy. Il vous suffit de remplacer Copy par Move pour faire les mêmes exemples mais en déplaçant la feuille, et non en la copiant.
De même, After (placer la feuille après…) peut être remplacé par Before (palcer la feuille avant…)
Après la 3e feuille
wsNord.Copy After:=wbVente.Worksheets(3)
Après la dernière feuille
wsNord.Copy After:=wbVente.Worksheets(wbVente.Worksheets.Count)
Oui, il y a bien deux fois wbVente.Worksheets dans la ligne.
Dans un nouveau classeur
wsNord.Copy
Notez que le nouveau classeur devient le classeur actif. Il est fortement conseillé de le placer immédiatement dans une variable Workbook, comme ceci :
'Au début du programme Dim wbListe As Workbook 'Juste après la ligne wsNord.Copy Set wbListe = ActiveWorkbook
Renommer une feuille
wsNord.Name="Nord"
Notez que si une autre feuille se nomme déjà « Nord », une erreur se produit, sauf si la feuille active est nommée Nord. Dans ce dernier cas, il ne se passe rien (c’est comme si vous renommiez une feuille avec le même nom)
Supprimer une feuille
Quand on supprime une feuille, Excel affiche un message demandant confirmation. Il faut masquer ce message.
Application.DisplayAlerts=False wsNord.Delete Application.DisplayAlerts=True