Créer un outil de recherche d'onglet en vba

Résolu
anesr Messages postés 27 Statut Membre -  
anesr Messages postés 27 Statut Membre -
Bonsoir tout le monde,
Je suis en train de bosser sur un projet et je voudrai savoir comment mettre en place un outil de recherche d'onglet dans un même classeur via une macro...Car je vous cache pas que j'ai un classeur avec plus de 200 feuilles et j'aimerai pouvoir accéder a un onglet en tapant directement son nom dans une barre de recherche.
Si qqun a une idee se serai chouette ^^
Merci d'avance

6 réponses

  1. Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention   1 784
     
    Tu peux choisir dans une liste existant déjà :
    Clic droit sur les boutons de déplacement parmi les onglets (en bas à gauche des noms d'onglets)
    0
  2. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    Bonsoir à tous,

    avec un formulaire.
    Saisir une partie du nom dans la Textbox, la liste des feuilles comprenant ces caractères se crée.
    Si la Textbox est vide, toutes les feuilles sont listées
    Un double-clic sur un nom de feuille l'active.

    https://www.cjoint.com/c/DBBa0JUXTIS
    Fait rapidement vue l'heure, il y a peut-être des trucs à améliorer. On verra ça demain.

    eric
    PS: c'est un formulaire non modal. On peut le laisser ouvert et travailler sur les feuilles.

    En plus du merci (si si, ça se fait !!!), penser à mettre en résolu lorsque c'est le cas (en haut vers votre titre).
    Merci
    0
  3. anesr Messages postés 27 Statut Membre
     
    merci pour vos réponses ça m'a bcp aidé et dsl pour mon manque de connaissance sur excel -_-
    0
  4. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  5. anesr Messages postés 27 Statut Membre
     
    eriiic,
    je reviens vers toi parce que dans la liste des onglet disponibles je voudrait en cacher certaint mais je sais pas comment modifier le code pour cela .
    Pourrai tu me donner un coup' de pouce stp
    Merci

    Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
    Dim Cible As Integer
    On Error Resume Next
    With ListBox1
    If .ListIndex < 0 Then Exit Sub
    Cible = .ListIndex
    Worksheets(.Text).Activate
    End With
    End Sub
    --------------------------------------------------------------------------------------------------------
    Private Sub TextBox2_Change()
    Dim Sh As Worksheet
    ListBox1.Clear
    For Each Sh In Worksheets
    If TextBox2 = "" Then
    ListBox1.AddItem Sh.Name
    Else
    If InStr(LCase(Sh.Name), LCase(TextBox2)) > 0 Then
    ListBox1.AddItem Sh.Name
    End If
    End If
    Next Sh
    End Sub
    -------------------------------------------------------------------------------------------------------
    Private Sub UserForm_Initialize()
    Dim Sh As Worksheet
    ListBox1.Clear
    For Each Sh In Worksheets
    ListBox1.AddItem Sh.Name
    Next Sh
    ListBox1.SetFocus
    End Sub
    0
    1. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
       
      Pas bonjour non plus,

      Pour ne pas à avoir à modifier la macro à chaque changement, j'ai ajouté une feuille 'Paramétrage' pour lister ces feuilles à ne pas lister.

      Ajout code un peu partout, et dans Worksheet_Deactivate() de la feuille 'Paramétrage'.
      A tester et faire un retour : https://www.cjoint.com/?DCgsIoHaP4S

      eric
      0
  6. anesr Messages postés 27 Statut Membre
     
    Bonjour eriiic
    merci beaucoup , j'ai repris ton fichier et je l'ai adapté à mon travail et ça marche nickel...
    Merci infiniment.
    0