Voir le flux RSS

Philippe Tulliez

VBA Excel - Comment s’affranchir de la modification du nom de la feuille en utilisant son CodeName

Noter ce billet
par , 15/10/2020 à 18h02 (146 Affichages)
Propriétés pour définir le nom d'une feuille
Une feuille Excel a deux propriétés distinctes pour définir son nom
  • Name : C’est le nom qui apparaît dans l’onglet de la feuille et que l’utilisateur peut modifier à sa guise
  • CodeName : Est le nom de code de l’objet feuille

Code pour écrire dans une feuille

A titre d'exemple, illustration d'un classeur contenant trois feuilles

[Nom : CodeName_1.png
Affichages : 1827
Taille : 35,6 Ko]

En VBA, il y a trois manières d’utiliser l’objet feuille.

Nous allons écrire le texte "Date" dans la cellule A1 de la feuille nommée [Recap] du classeur où se trouve le code VBA (ThisWorkbook)

Syntaxe 1 : On désigne la feuille par son numéro d’indice dans la collection.
La constante 3 utilisée pour l'exemple signifie que c’est la troisième feuille en partant de la gauche.
Ce type de désignation est à éviter car si l’utilisateur déplace la feuille 3 vers la gauche ou vers la droite ne n° d’indice ne sera plus correct.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
ThisWorkbook.Worksheets(3).Range("A1").Value = "Date"
Syntaxe 2 : On désigne la feuille par son nom.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
ThisWorkbook.Worksheets("Recap").Range("A1").Value = "Date"
Syntaxe 3 : On désigne la feuille par son CodeName
Code : Sélectionner tout - Visualiser dans une fenêtre à part
Feuil1.Range("A1").Value = "Date"

Modification de la propriété CodeName

Il est évident que pour faciliter la compréhension de la lecture d’un code, il est préférable de modifier la valeur du CodeName.
L’exemple ci-dessous est plus lisible en utilisant shtRecap plutôt que Feuil1
Code : Sélectionner tout - Visualiser dans une fenêtre à part
shtRecap.Range("A1").Value = "Date"
Cette modification s’effectue manuellement dans la fenêtre des propriétés mais pourrait se faire à l’aide du code VBA.

Ci-dessous, une vue de la fenêtre de l'explorateur des projets et celle des propriétés de la feuille nommée Bilan (Name) et shtBilan (CodeName) d'un autre classeur
Nom : Worksheet_Properties Name CodeName.png
Affichages : 20
Taille : 62,0 Ko

Pourquoi utiliser la propriété CodeName ?
La modification du nom de l'onglet par un utilisateur entrainera de facto, une erreur VBA si nous utilisons la propriété Name (Voir Syntaxe 2). L’utilisation du CodeName permet donc de s’affranchir de ce risque.

Envoyer le billet « VBA Excel - Comment s’affranchir de la modification du nom de la feuille en utilisant son CodeName » dans le blog Viadeo Envoyer le billet « VBA Excel - Comment s’affranchir de la modification du nom de la feuille en utilisant son CodeName » dans le blog Twitter Envoyer le billet « VBA Excel - Comment s’affranchir de la modification du nom de la feuille en utilisant son CodeName » dans le blog Google Envoyer le billet « VBA Excel - Comment s’affranchir de la modification du nom de la feuille en utilisant son CodeName » dans le blog Facebook Envoyer le billet « VBA Excel - Comment s’affranchir de la modification du nom de la feuille en utilisant son CodeName » dans le blog Digg Envoyer le billet « VBA Excel - Comment s’affranchir de la modification du nom de la feuille en utilisant son CodeName » dans le blog Delicious Envoyer le billet « VBA Excel - Comment s’affranchir de la modification du nom de la feuille en utilisant son CodeName » dans le blog MySpace Envoyer le billet « VBA Excel - Comment s’affranchir de la modification du nom de la feuille en utilisant son CodeName » dans le blog Yahoo

Catégories
VBA Excel

Commentaires