Reconnaitre le nom de l'onglet comme étant un chiffre

Enchantey -  
eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,
Je désespère !
J'ai un classeur avec 53 onglets numérotés de 1 à 53
Je voudrais que pour chaque feuille la cellule D1 me renvoie le numéro d'onglet

ex:
Onglet 1 -> D1 = 1
Onglet 43 -> D1 = 43

Et que ce chiffre SOIT RÉUTILISABLE dans la formule d'une autre cellule

Ce qui n'est pas possible quand j'utilise la fonction suivante :
=stxt(cellule("nomfichier";A1);TROUVE("]";CELLULE("nomfichier";A1);1)+1;30)

Si quelqu'un a une idée parce que là, je craaaque !
Merci

1 réponse

  1. ccm81 Messages postés 11033 Statut Membre 2 434
     
    Bonjour

    Une petite macro

    Public Sub OK()
    Const cel = "D1"
    Dim nuf As Long, nbf As Long
    nbf = Sheets.Count
    For nuf = 1 To nbf
    Sheets(nuf).Range(cel).Value = Sheets(nuf).Name
    Next nuf
    End Sub

    Chez toi.
    1. Alt-F11 pour accéder à l'editeur vba
    Insertion/Module
    Coller le tout dans ce Module 1
    2. Pour exécuter. Lorsque tu es dans le code. Tu te places dans la procedure OK/ Execution/Exécuter Sub/UserForm

    RQ. Si tu ne dois pas ajouter de feuille, tu peux supprimer ce module 1

    Cordialement
    0
    1. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
       
      Bonjour,

      Et que ce chiffre SOIT RÉUTILISABLE dans la formule d'une autre cellule
      Ce qui n'est pas possible quand j'utilise la fonction suivante :
      =stxt(cellule("nomfichier";A1);TROUVE("]";CELLULE("nomfichier";A1);1)+1;30)

      Je ne vois pas pourquoi tu dis ça, il est parfaitement réutilisable.
      Si la formule me retourne 2, =D1*3 me retourne bien 6.
      Le classeur doit être enregistré pour que la formule fonctionne.

      eric
      0
      1. Enchantey > eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention  
         
        Bonjour,
        effectivement si je fais =D1*3 j'obtiens bien 6 mais si je veux m'en servir pour une rechercheV, ça me renvoie #Valeur... :-s
        0
    2. Enchantey
       
      Rhooo Merci Beaucoup !!!!
      Je planche sur ça depuis des jours !!!
      Faut vraiment que je me mette aux macro !!!

      Merci merci, vous avez illuminé mon début d'aprem ! ;-)
      0
    3. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
       
      effectivement si je fais =D1*3 j'obtiens bien 6 mais si je veux m'en servir pour une rechercheV, ça me renvoie #Valeur... :-s
      Parce que "2" est une chaine et que tu dois rechercher le nombre 2, ce qui n'est pas pareil.
      Pour l'avoir en numérique :
      =--stxt(cellule("nomfichier";A1);TROUVE("]";CELLULE("nomfichier";A1);1)+1;30)
      0