nom des onglets dans une liste

  • Initiateur de la discussion Initiateur de la discussion pascal21
  • Date de début Date de début

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 !

pascal21

XLDnaute Barbatruc
bonjour le forum et bon dimanche
Code:
[FONT=[arial]][SIZE=3]Sub ListeOnglets()
    Range("A1").Select
    ActiveCell.Value = "Liste des onglets"
    For i = 1 To Worksheets.Count
         [a1].Offset(i, 0).Value = Worksheets(i).Name
    Next i
End Sub[/SIZE][/FONT]
j'ai trouvé ce bout de code pour avoir une liste des onglets afin de selectionner les onglets grace à une zone de liste
j'ai mis cela dans workbook/change sheets
mais il y a un problème
1er la recherche des onglets est longue, bon là à la limite ça peut aller
2eme le pc est considerablement ralenti voir bloqué
je pense que cela est du au fait que ça refait le calcul à chaque changement de feuille (d'où le blocage)
il faut pourtant que ça se remette à jour car le nom des onglets peut être ammené à changé
comment faire
le nom des onglets est lié à la cellule b1 de chaque feuille (ça reprends le contenu de b1) est-il possible de déclencher la macro sur le clic en b1?
merci
 
Re : nom des onglets dans une liste

Re à tous, bonsoir JB.

Il te suffit de garder la macro évènementielle dans la feuille voulue (la 25, non ?).
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
  If Target.Count > 1 Then Exit Sub
  If Target.Address = "$B$1" Then UserForm1.Show
End Sub
C'est elle qui ouvre la liste de l'USF quand tu changes le contenu de B1.
Ton fichier s'en trouvera donc allégé.

Sache, JB, que je consulte à chaque fois tes réponses (de la belle ouvrage).
 
Re : nom des onglets dans une liste

bonsoir
les solutions apportées sont certes attrayantes mais ce n'est pas ce que j'aimerais en fait
1) la liste des onglets crée par macro doit restée cachée (l'utilisateur n'en aura pas besoin directement )
2 cette liste sera reprise dans une zone de liste (dans toute les feuilles)pour sélectionner ensuite la feuille voulue
3) le clic sur b1 doit déclencher cette macro et mettre à jour les onglets( b1 donne le nom à l'onglet avec ce code
Code:
name = range("b1").value
par contre dans les essais que j'ai fais le nom de l'onglet se met à jour mais avec un clic de retard (ça prend l'avant dernière valeur inscrite dans b1)
ce qui est embettant lorsque l'on veut avoir une zone de liste à jour)
je n'ai pas trouvé l'évennement qui permet d'éviter ce décalage
 
- 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
5
Affichages
567
Réponses
5
Affichages
342
Réponses
37
Affichages
857
Retour