Microsoft 365 [RESOLU] nom d'une feuille dans classeur courant finissant par valeur dans une cellule

JVOS

XLDnaute Junior
Bonjour
Je souhaite en A1 trouver par formule le nom d'une feuille du classeur courant commençant par "FA" et finissant par la valeur qui est en B1
les noms de mes différentes feuilles (pour l'exemple, mais ça change en fonction des fichiers) sont :
D4503
Feuil1
FA1099 01
FA1124 02
FA1245 03
Je vous joins le fichier
Merci à ceux qui prendront le temps de me répondre
 

Pièces jointes

  • test nom de feuille.xlsx
    11.3 KB · Affichages: 5
Solution
Bonjour à toutes & à tous,
Bonjour @JVOS
Avec une fonction personnalisée :

VB:
Function NomFeuille(Préfixe, Suffixe)
     Dim wsh As Worksheet
     If Suffixe = "" Or Préfixe = "" Then NomFeuille = "Arguments ?": Exit Function
     NomFeuille = "Pas de feuille"
     For Each wsh In ThisWorkbook.Worksheets
          If wsh.Name Like Préfixe & "*" & Suffixe Then
               NomFeuille = wsh.Name
               Exit For
          End If
     Next
End Function

Exemple d'appel =NomFeuille("fa";B1)

Attention : version sensible à la casse

Amicalement
Alain

AtTheOne

XLDnaute Impliqué
Supporter XLD
Bonjour à toutes & à tous,
Bonjour @JVOS
Avec une fonction personnalisée :

VB:
Function NomFeuille(Préfixe, Suffixe)
     Dim wsh As Worksheet
     If Suffixe = "" Or Préfixe = "" Then NomFeuille = "Arguments ?": Exit Function
     NomFeuille = "Pas de feuille"
     For Each wsh In ThisWorkbook.Worksheets
          If wsh.Name Like Préfixe & "*" & Suffixe Then
               NomFeuille = wsh.Name
               Exit For
          End If
     Next
End Function

Exemple d'appel =NomFeuille("fa";B1)

Attention : version sensible à la casse

Amicalement
Alain
 

Pièces jointes

  • test nom de feuille.xlsm
    19.7 KB · Affichages: 0
Dernière édition:

mapomme

XLDnaute Barbatruc
Supporter XLD
Bonjour @JVOS :), @AtTheOne ;),

Un essai sans écriture de code VBA par formules.
Il faut néanmoins enregistrer le fichier sous format .xlsm car on utilise un nom défini utilisant une vieille macro excel IV (ça ne nous rajeunit pas !).

Le nom défini est : mesOnglets. Il a pour définition :
=TRANSPOSE(DROITE(LIRE.CLASSEUR(1);NBCAR(LIRE.CLASSEUR(1))-TROUVE("]"; LIRE.CLASSEUR(1)))).

  • Indiquer en colonne B les textes par lesquels doivent commencer et finir les noms des onglets.
  • Tapez sur la touche de fonction F9 pour recalculer la feuille (en effet la modification du nom ou l'ajout ou bien la suppression d'un onglet ne provoquent aucun recalcul du classeur)
  • Une mfc sur la zone D2:E28 permet de n'afficher que les onglets dont le nom répond aux conditions en colonne B
  • Çà devrait fonctionner sur des versions antérieures à O365
 

Pièces jointes

  • JVOS-test nom feuille- v1.xlsm
    14.5 KB · Affichages: 2

JVOS

XLDnaute Junior
Merci beaucoup @AtTheOne et @mapomme
Vous êtes trop fort
Bonjour @mapomme
J'utilise excel 2021 et les fonctions EXCEL IV ne sont plus disponibles, je crains qu'il en soit de même pour Excel 365...
Amicalement
Alain
Vu que dans les deux solution il faut enregistrer le classeur en .xlsm j'ai opté pour la fonction.
et effectivement ta solution ne fonctionne pas car il ne connais pas LIRE.CLASSEUR.
Mais merci de m'avoir consacré du temps
 

Discussions similaires

Statistiques des forums

Discussions
312 215
Messages
2 086 322
Membres
103 178
dernier inscrit
BERSEB50