Nom de feuille code vba

Résolu/Fermé
guillaume gdco Messages postés 68 Date d'inscription samedi 15 août 2009 Statut Membre Dernière intervention 30 août 2020 - 6 avril 2020 à 10:28
guillaume gdco Messages postés 68 Date d'inscription samedi 15 août 2009 Statut Membre Dernière intervention 30 août 2020 - 6 avril 2020 à 13:32
Bonjour,

dans tous mes codes, je fait appel à un nom de feuille qui correspond à ma feuille bien évidement.

cependant le nom de mes feuilles changeant quotidiennement, existe-il un moyen d'éviter de renommer les feuilles ou le code.

Merci

Configuration: Windows / Firefox 60.0

4 réponses

cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 728
Modifié le 6 avril 2020 à 10:53
1
ThauTheme Messages postés 1442 Date d'inscription mardi 21 octobre 2014 Statut Membre Dernière intervention 29 juillet 2022 160
6 avril 2020 à 11:05
Bonjour Guillaume, bonjour le forum

Si tu vas dans VBE (Visual Basic Editor) et que tu double-cliques dans un onglet, Feuil1(Feuil1), par exemple et que tu regardes la fenêtre des propriétés tu t'apercevras qu'il y a deux type de nom pour cet onglet : (Name) et Name. C'est d'ailleurs pour cela qu'il se nomme Feuil1(Feuil1).
Le premier nom c'est la propriété (Name) et pour y acceder en VBA il faut utiliser le mot clé CodeName
Le second (entre parenthèse) c'est Name et le mot clé VBA qui le caractérise c'est Name.
C'est assez paradoxal, le CodeName, propriété (Name) est le nom qui n'est pas entre parenthèses dans le nom du composant VBA et le Name, propriété Name est le nom qui est entre parenthèses... Mais peu importe...
Si tu veux accéder à un onglet qui peut changer de nom, Name sélectionne le via son CodeName.
Par exemple, le premier onglet, Feuil1(Feuil1) a été renommé Jean. Dans VBE il s'appelle Feuil1 (Jean)
Workseets("Feuil1").Select 

va provoquer une erreur tandis que
Feuil.Select 

va le sélectionner

En résumé, utilise le CodeName, propriété (Name) pour sélectionner un onglet et tu n'auras plus de problèmes...
1
M-12 Messages postés 1333 Date d'inscription lundi 22 septembre 2008 Statut Membre Dernière intervention 8 avril 2023 299
6 avril 2020 à 10:51
Bonjour,

macro à placer dans les feuilles intéressées

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If ActiveSheet.Name <> "Nom de la feuille" Then
ActiveSheet.Name = "Nom de la feuille"
End If
End Sub
0
guillaume gdco Messages postés 68 Date d'inscription samedi 15 août 2009 Statut Membre Dernière intervention 30 août 2020
6 avril 2020 à 13:32
Merci à vous
0