Comment rechercher une feuille dans un fichier Excel

Bonjour,

J'ai un fichier Excel avec 500/600 feuilles. Celles ci sont nommées en partie basse (lors de la création de la feuille) mais aussi en cellule A1.

Aujourd'hui quand je recherche une feuille en particuliers, je fais "Ctrl+F" mais c'est bien trop long car ca recherche dans toutes les cellules de toutes les feuilles.

Je cherche une macro qui permet de rechercher uniquement dans la cellule A1 de chaque feuille + création d'un raccourci pour lancer la recherche.

Pourriez vous m'aider ? Je n'ai aucune connaissance en macro.

JCV

Bonjour et bienvenu sur le forum

Ci joint 2 propositions

15classeur1.xlsm (30.83 Ko)

A+ François

Bonjour,

Une manière de faire... pour au moins aller dans la feuille voulue

P.

Une macro rempli automatiquement la feuille accueil avec le nom des feuilles et le lien correspondant

sur chaque feuille en B1 elle met un lien ACCUEIL....

Tu as le choix...

A+ François

Merci beaucoup messieurs pour ce coup de mains.... vous me faites gagner un temps montre !!!!

Cordialement,

JCV

Re-bonjour,

Je rencontre un probleme lorsque le nom de la feuille est composé de plusieurs mots, exemple : Toulouse 31

Je pense que c'est la gestion de l'espace qui est compliqué. Y a t il une solution ?

Bjr,

A qui réponds-tu ?

P.

Bonjour

Mets un _ entre Toulouse et 31: "Toulouse_31"

A+ François

J'étais sur la macro de François en l'occurrence.

Je fais ca immédiatement. Merci

Bonjour à tous,

J'avais fait un petit exemple avec l'utilisation du ruban, Si cette approche vous intéresse on pourrait l'adapter à votre classeur.

Pour filtrer la zone de liste déroulante, taper un texte dans la zone de texte puis valider par [Entrée].

Bonjour à tous,

La p'tite version à ma pomme.

Les explications sont sur la feuille "Accueil". Tout le code est dans le module de la feuille "Accueil".

Le classeur comprend 502 feuilles dont les deux premières sont exclues de la recherche (voir la constante OterFeuilles dans le code)

Bonsoir @ tous !

en reprenant le fichier de "ta pomme" mafraise, je vous propose un fichier basé sur la formule suivante : =LIRE.CLASSEUR(1+0*MAINTENANT())
qui permet de récupérer le nom des onglets d'un classeur.

Ensuite un tableau structuré avec la formule suivante en ligne 2 de la feuille:
=SI(@LIGNE(1:1)>NBVAL(Onglets);"";STXT(@INDEX(Onglets;@LIGNE(1:1));TROUVE("]";@INDEX(Onglets;@LIGNE(1:1)))+1;99))

Ajout d'un TextBox pour entrer les lettres de recherche et une ListBox pour l'affichage du résultat, un clic sur l'un de ces résultats affiche la feuille sélectionnée.
Une mise en couleur des données sur la colonne est en place également.

La fonction "SansAccent" est également reprise pour cette recherche.

Le fichier :

@ bientôt

LouReeD

Bonsoir LouReed,

LouReed a écrit: la formule suivante : =LIRE.CLASSEUR(1+0*MAINTENANT())

J'ai beau savoir que je l'ai croisée plusieurs fois, cette formule restera toujours tapie dans un recoin retiré et inatteignable de ma mémoire. Il est vrai qu'Excel IV n'est de plus en plus qu'un évanescent souvenir pour le vieillard cacochyme que je deviens.

Bonjour,

PQ n'a pas de fonction similaire ?

@ bientôt

LouReeD

Merci a tous pour votre réactivité !!!

PQ n'a pas de fonction similaire ?

Bonjour

Pour répondre à @LouReeD

Oui, c'est possible avec Power Query à condition de lire dans le fichier enregistré (pas avec Excel.CurrentWorkbook)

let
    Source = Excel.CurrentWorkbook(){[Name="Nom_Fichier"]}[Content],
    Excel = Excel.Workbook(File.Contents(Source{0}[Column1])),
    Onglets = Table.SelectRows(Excel, each [Kind] = "Sheet"),
    Noms = Table.SelectColumns(Onglets,{"Name"})
in
    Noms

et dans le classeur Excel, une formule en A1 pour récupérer le nom du fichier (cellule "Non_Fichier" pour Power Query)

capture d ecran 2025 11 17 103112

Précision, dans mon exemple je récupère avec Power Query le nom des onglets, mais on a également accès au contenu de chaque onglet.

Donc on peut lire la cellule A1 de chacun

Pour obtenir la liste des onglets dont la première cellule (Table.FirstValue) contient un "Z"

let
    Source = Excel.CurrentWorkbook(){[Name="Nom_Fichier"]}[Content],
    Excel = Excel.Workbook(File.Contents(Source{0}[Column1])),
    Onglets = Table.SelectRows(Excel, each [Kind] = "Sheet"),
    CelluleA1 = Table.AddColumn(Onglets, "A1", each Table.FirstValue([Data])),
    #"Lignes filtrées" = Table.SelectRows(CelluleA1, each Text.Contains([A1], "Z")),
    Noms = Table.SelectColumns(#"Lignes filtrées",{"Name"})
in
    Noms

Il faut penser à enregistrer le fichier avant chaque mise à jour de la requête

Stéphane

Rechercher des sujets similaires à "comment rechercher feuille fichier"