Suite MsOffice
Travaux pratiques > TP 1
Renommer la première feuille
Objectif
Renommer la première feuille d'un classeur (lorsque le nom par défaut n'a pas été déjà changé) à partir :
1) d'un bouton de commande dessiner dans la feuille (code dans le classeur) ;
2) de l'ouverture du classeur (code dans le classeur) ;
3) d'un bouton dans la barre d'outils (code dans le classeur PERSONAL.XLSB).
Réalisations
Première réalisation
Interface
Commencer par ouvrir un nouveau classeur et sur la feuille 1, dessiner un bouton.


Changer la propriété Caption du bouton comme ci-dessus puis sauver le classeur comme classeur prenant en charge les macros sous le nom TP1.xlsm
Codage
Dans l'environnement de développement (Alt + F11), afficher la fenêtre de code de la Feuil1 du Classeur1
Dans la liste des objets, sélectionner le bouton de commande. Dans la procédure de l'évènement Click (affiché par défaut) taper le code nécessaire pour :
  • déclarer une variable NomFeuille comme une variable de type String (lire le document sur les variables) ;
  • affecter la valeur "Mafeuille" à cette variable (ou tout autre nom valide pour une feuille) ;
  • utiliser la structure If ....Then....Else ....End If (lire le document ressources), pour tester si le nom de la première feuille du classeur est bien "Feuil1", dans ce cas renommer la feuille 1 avec le nom enregistré dans la variable NomFeuille, sinon faire afficher le message "La première feuille du classeur a déjà été renommée".
Deuxième réalisation
Sélectionner le projet du classeur en cours, VBAProject (TP1.xlxm), puis insérer un nouveau module de code (par le menu Insertion, Module) et dans ce module, déclarer une procédure ChangerNomFeuille.
Couper le code de l'évènement Click du bouton de la première Feuille et coller le dans la procédure ChangerNomFeuille du module. A la place du code coupé dans la procédure Click du bouton, taper le nom de la procédure, c'est à dire : ChangerNomFeuille.
A ce stade, vérifier que rien n'est changé : un click sur le bouton de commande produit le même effet que précédemment. En effet la procédure évènementielle Click du bouton appelle la procédure ChangerNomFeuille, qui exécute toujours le même code.
De la même manière, on peut appeler cette procédure par le code d'un autre évènement. C'est ce que nous allons faire à partir de l'évènement Open du classeur (évènement déclenché par l'ouverture du classeur).
Dans l'explorateur de projets, sélectionner ThisWorkbook (le classeur) comme ci-dessous :


Faire apparaître la fenêtre de code du classeur (par exemple en double-cliquant dans l'explorateur de Projet sur ThisWorkBook) et dans la liste de gauche de la fenêtre de code, sélectionner l'objet Workbook avec l'évènement Open (dans la liste de droite) et taper dans cette procédure : ChangerNomFeuille. Enregistrer le classeur puis fermer le. Vérifier le code en ouvrant le classeur...
Troisième réalisation
Copier la procédure ChangerNomFeuille et dans le projet PERSONAL.XLSB, insérer un nouveau module (par le menu Insertion) et créer une nouvelle procédure ayant pour nom : NomPremiereFeuille. Coller le code précédemment copié, dans cette procédure. Déclarer cette procédure comme Public.
Sauvegarder le fichier PERDSONAL.XLSB par le menu Fichier, Enregistrer PERSONAL.XLSB.
Fermer le classeur TP1. Ouvrir un nouveau classeur.
Pour avoir accès à cette procédure maintenant contenu dans le classeur PERDSONAL.XLSB il faut commencer par créer un nouvel onglet (nommé Perso) dans la barre des onglets puis dans cet onglet un nouveau groupe (nommé Outils) (voir document ajouter un onglet et un groupe
Il reste à ajouter la procédure NomPremièreFeuille du classeur PERSONAL.XLSB comme commande dans le groupe Outils.
Cliquer avec le bouton droit de la souris sur la barre des onglets puis sur Personnaliser le ruban pour obtenir la fenêtre Options Excel.
Dans cette boîte, dérouler la liste du haut (Choisir les commandes dans les catégories) et cliquer sur la catégorie Macros, puis dans la liste qui apparaît en dessous, cliquer sur PERSONAL.XLSB!NomPremiereFeuille
Maintenant dans la liste de droite cliquer sur le groupe Outils créé précédement
Cliquer alors sur le bouton Ajouter (entre les deux listes). On obtient alors la boîte de dialogue ci-dessous.


Pour finir, renommer cette nouvelle commande par le bouton Renommer en Nom première feuille, on peut choisir également une icône, par exemple .
En cliquant sur le nouvel onglet Perso apparaît maintenant le groupe Outils qui contient la commande Nom première feuille. Essayer cette nouvelle commande.
On peut maintenant fermer ce classeur et en ouvrir un autre : l'onglet Perso est toujours présent ainsi que le groupe Outils avec la commande Nom première feuille
En fermant l'application Excel, un message demande si on veut sauver les modifications dans le classeur PERSONAL.XLSB, il faut cliquer sur Enregistrer si on veut conserver les modifications.
Ressources (documents à télécharger)
  • Correction du TP (format Word)
  • Fichier Excel (fichier Zip) complété
  • Objets, propriétés, méthodes et évènements (format Word)
  • Ressources du TP (format Word)