Formule conditionnel avec nom d'onglet

Résolu
Elcaprio -  
 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.

A voir également:

3 réponses

Morgothal Messages postés 1236 Date d'inscription   Statut Membre Dernière intervention   183
 
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+
0
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
Bonjour à tous,

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

eric
0
Elcaprio
 
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)
0
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
Non, tu copie-colles la formule sans rien changer.
Le fichier doit être enregistré pour que ça fonctionne.

eric
0
Morgothal Messages postés 1236 Date d'inscription   Statut Membre Dernière intervention   183
 
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
0
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
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
0
Elcaprio
 
Ç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
0
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
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
0
Elcaprio
 
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
0