Fichier excel avec beaucoup d'onglets

Résolu/Fermé
Signaler
Messages postés
1
Date d'inscription
dimanche 6 avril 2008
Statut
Membre
Dernière intervention
6 avril 2008
-
Messages postés
55060
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
30 novembre 2021
-
Bonjour,
J'ai un fichier excel avec beaucoup d'onglets qui ne sont pas classés par ordre alphabétique. Comment puis-je faie pour trouver rapidement l'onglet que je cherche?
(création d'une feuille faisant référence aux onglets? renvoi automatique?)

Par avance merci!

7 réponses

Messages postés
7098
Date d'inscription
dimanche 8 avril 2007
Statut
Modérateur
Dernière intervention
10 juin 2021
1 298
Bonjour,

Première possibilité :
Dans le classeur, faire un clic droit sur les flêches situées en bas à gauche, une liste des onglets apparaîtra, si la liste est très longue, appuies dans la liste sur "plus de feuilles...", une boîte de dialogue apparaît avec, là aussi, la liste des onglets, soit tu scrolles pour arriver jusqu'au nom de l'onglet voulu soit tu tapes les premières lettres de celui-ci que tu veux puis tu le sélectionnes et tu cliques sur "OK".

Deuxième possibilité :
Une macro en VBA, avec la création d'une UserForm (avec une ComboBox, un bouton "Quitter" et un bouton "OK") contenant le code suivant :
(classeur contenant cette macro : https://www.cjoint.com/?egqIy4MLTf)
Private Sub cbListeOngletsClasseur_Change()
   cbListeOngletsClasseur.MatchRequired = True
   cbListeOngletsClasseur.MatchEntry = fmMatchEntryComplete
End Sub

Private Sub cbListeOngletsClasseur_Click()
     Select Case cbListeOngletsClasseur.ListIndex
     End Select
End Sub

Private Sub cmdOK_Click()
    Num = (cbListeOngletsClasseur.ListIndex) + 1
        If Num = 0 Then
        MsgBox "Vous n'avez rien sélectionné, RECOMMENCER!!!"
        Unload fmListeOngletsClasseur
        Call ChoixOnglet
        Else
        Sheets.Item(Num).Select
        Unload fmListeOngletsClasseur
        End If
End Sub

Private Sub cmdOK_Enter()
Num = (cbListeOngletsClasseur.ListIndex) + 1
        If Num = 0 Then
        MsgBox "Vous n'avez rien sélectionné, RECOMMENCER!!!"
        Unload fmListeOngletsClasseur
        Call ChoixOnglet
        Else
        Sheets.Item(Num).Select
        Unload fmListeOngletsClasseur
        End If
End Sub

Private Sub cmdQuitter_Click()
    fmListeOngletsClasseur.Hide
    Unload fmListeOngletsClasseur
End Sub


Private Sub UserForm_Initialize()
    Dim Numfeuille As Integer
    Dim NomFeuille As Variant
    
        For Numfeuille = 1 To Worksheets.Count
            NomFeuille = Worksheets(Numfeuille).Name
            cbListeOngletsClasseur.AddItem "" & NomFeuille
        Next Numfeuille
   cbListeOngletsClasseur.Style = fmStyleDropDownCombo
   
End Sub

et un module contenant la macro suivante :
Sub ChoixOnglet()
    Load fmListeOngletsClasseur
    fmListeOngletsClasseur.Show
End Sub

En ce qui concerne cette macro, si elle est placée dans le classeur de macros personnelles, elle pourra être utilisée sur tous les classeurs actifs.

Voilà, j'espère que cela correspondra à ce que tu cherches.

Bonne fin de journée
8
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 41989 internautes nous ont dit merci ce mois-ci

Bonjour,

J'ai rencontré également ce problème de gestion d'onglets. N'ayant pas de facilité pour la
création de macros ou de script VBA, j'ai tout simplement crée une feuille supplémentaire
nommée "Index" dans laquelle je liste en colonne tous les onglets du classeur et les relie
à la feuille cible par un hyperlien :
Manipulation :
- 1 Dans la feuille crée, dans la colonne contenant le nom des onglets
- 2 Sélectionner la cellule contenant le nom de l'onglet à lier
- 3 Clic droit - Menu contextuel - Lien hypertexte
- 4 Dans la fenêtre qui s'ouvre - colonne gauche - clic sur "Emplacement dans ce document"
- 5 Dans la fenêtre qui s'ouvre à nouveau listant les onglets de la feuille, sélectionner l'onglet correspondant.
- 6 clic et approuve la sélection.

C'est bien sur plus long et surtout pas automatique, mais il y a un avantage à cet inconvénient
La feuille index me permet de renseigner en regard de la liste des onglets des informations relatives
à la feuille cible, ce qui dans mon cas est très intéressant, je peux de plus organiser et trier cette liste
à partir des filtres dont j'ai besoin.

Peut-être cette solution un peu cromagnienne te servira.

Bon courage
Messages postés
55060
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
30 novembre 2021
16 998
Vu la complexité des diffèrentes opérations proposées, tu aurais aussi vite fait de classer tes onglets par ordre alphabétique, en les faisant glisser avec la souris.
Messages postés
4804
Date d'inscription
dimanche 22 juillet 2007
Statut
Contributeur
Dernière intervention
7 octobre 2021
4 341
Ben non Raymond, les liens hypertexte, ils ne sont pas complexes. C’est facile et rapide à mettre en place.
Tu as raison, ça ne doit pas empêcher Bleucalyptus de remettre ses onglets dans l’ordre en faisant glisser avec la souris. Mais ensuite pour atteindre rapidement chacun des 65 onglets, c’est plutôt pratique les liens.
Toujours pas d'accord ?
La macro d’Aquarelle marche bien aussi. Mais bon, je suis un peu fâchée avec… (les macros bien sûr)
Amitiés.
Messages postés
4804
Date d'inscription
dimanche 22 juillet 2007
Statut
Contributeur
Dernière intervention
7 octobre 2021
4 341
Bonsoir Bleucalyptus,

Il y aussi les liens hypertexte qui te permettent d'aller directement à l'onglet souhaité.
Tu insères un onglet au début que tu pourrais nommer « sommaire »..
La manip est simple : En A1, Clic droit souris / Lien hypertexte / Emplacement dans ce document.
Là il affiche tous les onglets du fichier et tu pointes sur chacun des onglets sur chacune des cellules de A1 à A65 en passant par le lien.
Tu peux aussi sur chacun des onglets consacrer une cellule pour créer un lien qui te ramène au sommaire.

http://www.cijoint.fr/cjlink.php?file=cj200804/cijA6F2sKH.xls

Bonne soirée
Messages postés
7098
Date d'inscription
dimanche 8 avril 2007
Statut
Modérateur
Dernière intervention
10 juin 2021
1 298
Bonjour à tous,
En tous les cas, je crois que Bleucalyptus a, là, un éventail assez larges des possibilités plus ou moins complexes qui s'offrent à lui et peut donc faire son choix par rapport à ce qu'il attend réellement.
C'est plutôt sympa de découvrir tout ce qu'il est possible de faire sur une question cela donne des idées autant à celui qui demande qu'à ceux qui proposent.
Pour ce qui est de la simplicité, je pense que la première possibilité que je donne l'est, il n'a absolument rien à créer ni à faire si ce n'est quelques clics puisque c'est prévu dans les menus contextuels d'excel ---> donc très facile à appliquer pour n'importe qui.
Bonne journée

PS : Pour argixu, j'ai eu une seconde de frayeur ;-))
Bonjour

Je désire faire une manip sur excel et à la lecture de ce post je pense que je suis au bon endroit

Est il possible de mettre la ligne ou les différentes feuilles du classeur apparaissent sur 2 épaisseurs afin de pouvoir afficher plus de feuilles ?

Suis-je assez explicite ? lol


Merci d'avance pour vos réponses
Messages postés
55060
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
30 novembre 2021
16 998
"Est il possible de mettre la ligne ou les différentes feuilles du classeur apparaissent sur 2 épaisseurs afin de pouvoir afficher plus de feuilles ? "
NON.
La solution proposée par Microsoft t'est décrite par aquarelle au post 1 de cette discussion en "Première possibilité".