VBA - Userform Navigation Onglets

Bonjour à tous,

Grâce à votre aide, j'ai un fichier qui permet de faire comme un système de dossiers/sous-dossiers au niveau des onglets.

Imaginons maintenant que j'ai 80 onglets + 3 sous onglets par onglet. Cela fait 320 onglets, et devient beaucoup trop compliqué à gérer dans la barre d'onglets. J'ai donc essayé de créer un userform, qui affiche les onglets et permet de se "déplacer" sur le workbook (voir onglet Sommaire, bouton "Sommaire"). Celui-ci marche, mais affiche tous les onglets, qu'ils soient visibles ou non. Je voulais donc savoir comment modifier cela pour afficher uniquement les onglets visibles, et faire comme un espèce de menu interactif pour jongler d'un onglet à l'autre facilement.

Je vous remercie d'avance pour votre aide et vous souhaite une excellente journée,

Bien cordialement,

WoOdErOu

Bonjour,

à tester,

Sub subShowUserform()
Dim wksSheet As Worksheet
For Each wksSheet In ActiveWorkbook.Worksheets
  If wksSheet.Name = "Sommaire" Or wksSheet.Name Like "*Actif*" Then
    UFnavigation.LSBnavigation.AddItem wksSheet.Range("A1").Value & " :: " & wksSheet.Name
  End If
Next

UFnavigation.Show
End Sub

Bonjour Isabelle,

Je te remercie pour cette solution. Elle marche dans le sens ou il n'y a plus que les onglets princpaux ("Actif xxx") qui apparaissent. Allons encore plus loin: est-il possible d'afficher dans l'userform, une fois qu'on appuie sur Actif 1 par exemple, les trois sous-onglets ? J'aimerais que ça marche comme l'explorateur Windows, où dès qu'on appuie sur un dossier, les "sous-dossiers" apparaissent. Pour que cela marche avec des dossiers, sous-dossiers, sous-sous-dossiers, etc.

est-il possible d'afficher dans l'userform, une fois qu'on appuie sur Actif 1 par exemple, les trois sous-onglets ? J'aimerais que ça marche comme l'explorateur Windows, où dès qu'on appuie sur un dossier, les "sous-dossiers" apparaissent. Pour que cela marche avec des dossiers, sous-dossiers, sous-sous-dossiers, etc.

il faut utiliser un controle TreeView pour faire ça.

est-il possible d'afficher dans l'userform, une fois qu'on appuie sur Actif 1 par exemple, les trois sous-onglets ? J'aimerais que ça marche comme l'explorateur Windows, où dès qu'on appuie sur un dossier, les "sous-dossiers" apparaissent. Pour que cela marche avec des dossiers, sous-dossiers, sous-sous-dossiers, etc.

il faut utiliser un controle TreeView pour faire ça.

Impossible de trouver le control Treeview dans ma toolbox sur mon userform. Y-a-il une maj ou des modules à installer ?

re,

Les MVP Excel Jan Karel Pieterse et Peter Thornton ont créé un contrôle gratuit Treeview entièrement construit à partir de contrôles Excel "natifs" et fonctionnant à la fois dans les versions 32 bits et 64 bits d'Excel, ainsi que dans Excel pour Mac.

téléchargement gratuit:

https://jkp-ads.com/articles/treeview.asp

re,

Les MVP Excel Jan Karel Pieterse et Peter Thornton ont créé un contrôle gratuit Treeview entièrement construit à partir de contrôles Excel "natifs" et fonctionnant à la fois dans les versions 32 bits et 64 bits d'Excel, ainsi que dans Excel pour Mac.

téléchargement gratuit:

https://jkp-ads.com/articles/treeview.asp

J'ai lu le lien, ainsi que le fichier Excel mais je t'avoue que c'est un peu du chinois pour moi .. n'y a t-il pas moyen de faire plus simple, par exemple en réutilisant le code VBA présent dans ThisWorkbook qui permet de créer ce système d'onglets / sous-onglets dans la barre d'onglets ?

EDIT : dans l'idéal, j'aimerais quelque chose qui ressemble à ca : https://jkp-ads.com/Articles/treeview02.asp --> Sheet navigation tool (à la fin du premier tiers de la page)

Rechercher des sujets similaires à "vba userform navigation onglets"