Fichier excel avec beaucoup d'onglets

Résolu
bleucalyptus Messages postés 1 Statut Membre -  
Raymond PENTIER Messages postés 58213 Date d'inscription   Statut Contributeur Dernière intervention   -
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!
Configuration: Windows XP
Internet Explorer 7.0

7 réponses

  1. aquarelle Messages postés 7181 Date d'inscription   Statut Modérateur Dernière intervention   1 311
     
    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
  2. alcionnice
     
    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
    2
  3. Raymond PENTIER Messages postés 58213 Date d'inscription   Statut Contributeur Dernière intervention   17 482
     
    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.
    1
    1. Utilisateur anonyme
       
      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.
      0
  4. Utilisateur anonyme
     
    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
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. aquarelle Messages postés 7181 Date d'inscription   Statut Modérateur Dernière intervention   1 311
     
    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 ;-))
    0
  7. Cayman
     
    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
    0
  8. Raymond PENTIER Messages postés 58213 Date d'inscription   Statut Contributeur Dernière intervention   17 482
     
    "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é".
    0