Pour que l'onglet porte le nom d'une cellule

Résolu
ec163 Messages postés 182 Statut Membre -  
ec163 Messages postés 182 Statut Membre -
Bonjour,
j'aimerais savior s'il existe un moyen de renommer l'onglet"Feuil1" avec ce qui est contenu dans la cellule B1 (par exemple). par avance merci de vos réponses.
Je suppose qu'il existe des macros mais je ne pratique pas le VBA ou très peu :-(

4 réponses

  1. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
     
    Bonjour

    sélectionnez l'onglet clic droit visualiser le code et collez ceci:

    Private Sub Worksheet_Change(ByVal Target As Range)
    ActiveSheet.Name = Range("A1").Value
    End Sub

    la feuille prendra le nom que vous entrerez en A1.. ou autre si vous modifier l'adresse A1 dans le libellé

    crdlmnt
    0
  2. ec163 Messages postés 182 Statut Membre 32
     
    Merci ça marche très bien, en revanche je n'avais pas posé ma question correctement, la case en question n'est pas à l'ouverture du document, complétée, ce qui fait bugué la macro, pourriez vous compléter votre formule en en précisant que si la cellule est vide alors l'onglet reste appelé Feuil 1, par avance merci.
    0
    1. WeaponEDGE Messages postés 114 Statut Membre 9
       
      Bonjour,

      If Range("A1") = "" then
      Activesheet.Name = "Feuil1"
      else
      Activesheet.Name = Range("A1").text
      end if

      Celà dit si vous mettez le code de Vaucluse directement en "Feuil1" au lieu d'un module ou à l'ouverture du Fichier alors la Macro s'activera à chaque fois qu'une donnée sera modifiée sur la feuille 1.
      0
  3. ccm81 Messages postés 11033 Statut Membre 2 434
     
    Bonjour

    Pour compléter la proposition de Vaucluse que je salue au passage, et, pour éviter que l'affectation du nom à la feuille soit exécuté à chaque changement dans la feuille

    Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("A1")) is Nothing Then
    If Target.Value <> "" Then ActiveSheet.Name = Target.Value
    End If
    End Sub

    Cordialement
    0
  4. ec163 Messages postés 182 Statut Membre 32
     
    Merci, à vous deux.............................rapidité efficacité, que du bonheur.
    sujet clos!
    ec163
    0