Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

liste déroulante renomme Onglet

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

jo50160

XLDnaute Junior
bonsoir à tous, voilà je voudrais pouvoir renommer mes onglet avec une liste déroulante,
j'ai récupérer ce code sur ce forum,

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, Range("E1")) Is Nothing Then
ActiveSheet.Name = Range("E1")
End If
End Sub

qui marche très bien via une cellule, mais pas avec une liste déroulante.

Si quelqu'un pouvez m'aider ça serait sympa.

Dans ma feuille de calcul j'ai,

1 liste déroulante avec janvier,février, ect.

Et une autre avec les année 2010,2011,etc.

Merci
PS je suis nul en VBA
 
Re : liste déroulante renomme Onglet

Hello,

Ben si j'ai bien compris ton code fonctionne, mais il faut maintenant que tu crées ta liste dans la celllule E1 !

Click "Données/Validation" puis dans "Autotiser" tu mets "Liste" et dans "Source" tu mets par exemple A;B;C;D

Le mieux est de déposer ton fichier allégé et sans données confidentielles !
 
Dernière édition:
Re : liste déroulante renomme Onglet


Salut Hulk

Non, si tu écris normalement dans la "cellule E1", le code fonctionne très bien, mais par-contre dès que tu créer une liste déroulante dans la "cellule E1" cela ne fonctionne pas.
 
Re : liste déroulante renomme Onglet

Bonjour tout le monde 🙂

Ben étant donné que je travaille (encore 😱) avec Excel 2003, j'ai du convertir ton fichier xlsm en xls et j'imagine que c'est pour ça que je n'ai pas vu de liste déroulante dans ton classeur.

Cela dit essaie ce code, pas de raison qu'il ne joue pas..
Code:
Sub InsereFeuille()

    On Error Resume Next

    FeuilleCrée = Range("I1").Text

    Sheets(FeuilleCrée).Select

    If Err = 9 Then 'Si la feuille n'existe pas
        Sheets("Feuil2").Copy After:=Sheets(Sheets.Count)
        ActiveSheet.Name = Sheets("Feuil2").Range("I1").Text
    Else
        MsgBox "La feuille ''" & FeuilleCrée & "'' existe déjà !"
    End If

    On Error GoTo 0
    
    Sheets("Feuil2").Select

End Sub
Méthode inspirée de Pyrof, membre du Forum, merci à lui.


À tous les lecteurs :

Je n'ai pas trouvé ce que Err = 9 veut dire exactement, si quelqu'un avait un lien avec la liste des types d'Err, ça serait gentil !
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
9
Affichages
508
Réponses
4
Affichages
521
  • Question Question
Microsoft 365 Probléme VBA
Réponses
8
Affichages
588
Réponses
7
Affichages
366
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…