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

Fermé
Enchantey - 2 sept. 2015 à 11:28
eriiic Messages postés 24600 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 21 octobre 2024 - 2 sept. 2015 à 15:50
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

ccm81 Messages postés 10900 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 2 novembre 2024 2 423
Modifié par ccm81 le 2/09/2015 à 12:02
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
eriiic Messages postés 24600 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 21 octobre 2024 7 239
2 sept. 2015 à 12:13
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
Enchantey > eriiic Messages postés 24600 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 21 octobre 2024
2 sept. 2015 à 13:30
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
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
eriiic Messages postés 24600 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 21 octobre 2024 7 239
Modifié par eriiic le 2/09/2015 à 15:50
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