Formule conditionnel avec nom d'onglet [Résolu/Fermé]

Signaler
-
 Elcaprio -
Bonjour,
Je souhaiterais savoir s'il est possible de faire une formule "si" qui vérifie un nom d'onglet.
Exemple: si(nom_onglet="elcaprio";0;1)
Merci d'avance pour vos réponses.

3 réponses

Messages postés
1235
Date d'inscription
jeudi 22 avril 2010
Statut
Membre
Dernière intervention
19 mai 2015
172
Bonjour,
Pour pouvoir récupérer et utiliser le nom d'onglet je crois qu'il est possible de le faire seulement en VBA, avec :
 ActiveWorkbook.ActiveSheet.Name


A+
Messages postés
24048
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
12 mai 2021
6 765
Bonjour à tous,

et par formule :
=STXT(CELLULE("nomfichier";A1);TROUVE("]";CELLULE("nomfichier";A1))+1;20)

eric
Merci de vos réponses, je ne connais pas le vba, donc je vais essayé par la formule.
si j'ai bien compris je dois avoir:
=si(STXT(CELLULE("nomfichier";A1);TROUVE("]";CELLULE("nomfichier";A1))+1;20)="elcaprio";0;1)
Messages postés
24048
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
12 mai 2021
6 765
Non, tu copie-colles la formule sans rien changer.
Le fichier doit être enregistré pour que ça fonctionne.

eric
Messages postés
1235
Date d'inscription
jeudi 22 avril 2010
Statut
Membre
Dernière intervention
19 mai 2015
172
Ah exact je n'avais pas pensé à CELLULE.
Eric (salut), ta formule ne fonctionne que si le nom d'onglet ne dépasse pas 20 caractères (il peut en comprendre 32 je crois) ? (Edit : 31 en fait)

Cette formule renvoie le nom d'onglet, à intégrer dans un SI comme tu l'a proposé ici :
=DROITE(CELLULE("nomfichier";A1);NBCAR(CELLULE("nomfichier";A1))-TROUVE("]";CELLULE("nomfichier";A1);1))


-------------------
Cordialement,
Clément
Messages postés
24048
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
12 mai 2021
6 765
Oui, j'avais mis 20 (qui nomme ses onglets avec une telle longueur ?) ;-)) mais on peut mettre 50.
Que ça dépasse la longueur du nom n'est pas gênant et la formule est plus courte.

eric
Ça me fais une formule a rallonge mais sa fonctionne

=SI(DROITE(CELLULE("nomfichier";A1);NBCAR(CELLULE("nomfichier";A1))-TROUVE("]";CELLULE("nomfichier";A1);1))<>"";RECHERCHEV(DROITE(CELLULE("nomfichier";A1);NBCAR(CELLULE("nomfichier";A1))-TROUVE("]";CELLULE("nomfichier";A1);1));'Element de calcul'!A20:C26;2);"")

Un grand merci a vous deux
Messages postés
24048
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
12 mai 2021
6 765
Re,

tu n'as pas lu (ou compris mon post 5), pas besoin de rallonger la formule de base.
Si tu penses qu'un nom d'onglet peut être plus grand que 20 car tu remplaces 20 par 32.

Et à quoi sert : =SI(DROITE(CELLULE("nomfichier";A1);NBCAR(CELLULE("nomfichier";A1))-TROUVE("]";CELLULE("nomfichier";A1);1))<>"";... ?
Tu crois qu'un nom d'onglet peut-être vide ?

=RECHERCHEV(STXT(CELLULE("nomfichier";A1);TROUVE("]";CELLULE("nomfichier";A1))+1;32);'Element de calcul'!A20:C26;2)
devrait être suffisant.

eric
En effet, la formule de base fonctionne aussi et ma conditionnelle n'a plus de sens.
Merci pour la solution et pour le correctif .

Elcaprio