Nom de feuille code vba

Résolu
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

  1. 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
    1. 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
      1. Merci à vous
        0