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

Pouvez vous m'aider à partir de cette capture, qu'est-ce qui ne va pas ?

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 !

Bonjour

Le souci vient que vous utilisez un tableau prédéfini (nouvelle invention Microsoft qui apporte souvent des ennuis dans la gestion des codes. J'aime pas ce truc !)

essayez plutôt ce code à la place de la ligne qui fait défaut

VB:
With ListObjects("Tableau1").Sort
  .SortFields.Clear
  .SortFields.Add Key:=Range("Tableau1[Onglet]"), SortOn:=xlSortOnValues, Order:=xlAscending
  .Header = xlYes
  .Orientation = xlTopToBottom
  .SortMethod = xlPinYin
  .Apply
End With
Attention toutefois à vérifier que le nom Tableau1 correspond bien au nom de votre tableau.
Pour vérifier,
- sélectionnez une cellule dans le tableau
- cliquez sur l'onglet création dans le menu
- A gauche dans l'encart nom du tableau, vous pouvez voir le nom du tableau

Cordialement
 
Dernière édition:

Merci, ça à marché un instant (j'ai pu accéder à un onglet) puis ça a planté de nouveau.
 

Pièces jointes

  • 1.png
    4 KB · Affichages: 44
  • 2.png
    13.3 KB · Affichages: 42
Re

Comme le signale vgendron

VB:
 .SortFields.Add Key:=Range("Tableau1[Onglet]"), SortOn:=xlSortOnValues, Order:=xlAscending

Cordialement
 
Dernière édition:
Merci à vous 2 !

Quand je pointe et clique ça m'affiche une flèche et ça sélectionne la ligne du tableau sur laquelle je clique respectivement (voir capture d'écran jointe)
 

Pièces jointes

  • flèche.png
    143.6 KB · Affichages: 46
quand je transpose la première feuille vers un nouveau classeur par le biais d'une copie, eh bien, ça marche dans ce cas. Donc mystère.

Tant pis, merci de m'avoir aider jusque là (même si cela ne servira probablement pas)


Bonne soirée !
 
Bonsoir

Tableau nommé listing_onglets donc code simple (plus qu'avec l'enregistreur de macro):

VB:
Option Explicit
Private Sub Worksheet_Activate()
  Dim nf As String, i As Long 'ou Byte
  [listing_onglets].Clear
  For i = 2 To Sheets.Count
    nf = Sheets(i).Name
    Me.Hyperlinks.Add Cells(i + 3, 3), "", nf & "!A1", nf
  Next
  [listing_onglets].Sort [listing_onglets].Item(1, 1), Header:=1
End Sub

Nota : en cas de copie du tableau, la copie change de nom donc réajuster le code avec le nouveau nom.
Il est dommage que beaucoup laissent cet outil de côté car il est performant (quand on sait le manipuler).
 
Dernière édition:
- 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
404
Réponses
4
Affichages
156
  • Question Question
Microsoft 365 Graphique à bulles
Réponses
2
Affichages
184
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…