Vous utilisez un navigateur obsolète. Il se peut que ce site ou d'autres sites Web ne s'affichent pas correctement. Vous devez le mettre à jour ou utiliser un navigateur alternatif.
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 !
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
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
Merci par contre je ne sais pas où implanter ceci. J'ai d'abord tenter la méthode de @Dan donc la tienne, je ne sais pas où mettre cela et si ça ne va pas interférer avec sa solution.
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)
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)
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).
- 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