Case dans une cellule Excel

Fermé
jeremoquai - 22 juil. 2010 à 11:38
 jeremoquai - 22 juil. 2010 à 16:12
Bonjour à tous,

Question à laquelle je ne trouve pas de réponse : comment faire un CASE dans une cellule Excel ?

Je veux arriver à (par exemple) :

SI A1 = 1 alors afficher A
SI A1 = 2 alors afficher B
SI A1 = 3 alors afficher C
etc.

(en fait c'est beaucoup plus complexe que ça j'ai des ET et des OU mais je simplifie)

et pour l'instant ma seule solution c'est de faire

IF(A1=1;"A";IF(A1=2;"B";IF(A1=3;"C"; [mon ELSE ou encore d'autres IF] )))

Donc avec beaucoup de IF, de AND, et de OR, ça devient très vite complexe et ça ralentit vachement mes calculs.

JE NE SOUHAITE PAS UTILISER DE VBA, que je sollicite déjà pour modifier certaines valeurs.

Donc :

1. est-ce qu'il existe une solution de type CASE ou autre chose de plus pratique que mes IF
2. est-ce que je ne peux pas créer moi-même une formule appelée par la cellule ?

Merci d'avance,

Jérémie.

4 réponses

chossette9 Messages postés 4239 Date d'inscription lundi 20 avril 2009 Statut Contributeur Dernière intervention 12 septembre 2014 1 307
22 juil. 2010 à 11:55
Bonjour,

pourrais tu nous donner une liste des différents cas que tu aurais?

Si tu veux remplacer un chiffre par une des lettres de l'alphabet, tu peux essayer :

=CAR(A1+64), pour obtenir la lettre en majuscule,
=CAR(A1+96), pour obtenir la lettre en minuscule.

Sinon, indique-nous ce que tu veux faire.

Cordialement.
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
22 juil. 2010 à 11:58
bonjour

pas clair ton truc avec des case, else, if, or alors que tu nous dis pas de VBA...

a tout hasard
=choisir(A1;"A";"B";"C")
0
Bonjour.

Merci pour vos réponses rapides.

Si vous voulez la formule exacte (pour ma cellule B3, par exemple), c'est la suivante :

=SI(OU(ET(B2="N";M3="");ET(B2="L";M3="TEST1");ET(B2="S";M3="TEST2"));"N";SI(OU(M3="TEST3";M3="TEST4");"L";SI(OU(M3="TEST5";M3="TEST6");"S";B2)))

Pour répondre à l'interrogation de Michel, je veux effectivement répliquer le "CASE" du VBA... directement dans une cellule par le biais d'une formule sans avoir recours à des IF imbriqués !

Si je "traduis" ma formule, on arrive à cette logique :

SI (B2="N" ET M3="") OU (B2="L" ET M3="TEST1") OU (B2="S" ET M3="TEST2") ALORS B3 = "N"

SI M3="TEST3" OU "TEST4" ALORS B3 = "L"

SI M3="TEST5" OU "TEST6" ALORS B3 = "S"

SINON B3 = B2

Ca serait donc un CASE sur la valeur de M3, assorti de conditions sur la valeur de B2.

Et pour répondre à Chossette, non ce n'est pas juste une histoire de transformation de chiffres en lettres : j'avais mis ça pour illustrer mon propos mais c'est malheureusement un peu plus complexe que ça.

Merci !
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
22 juil. 2010 à 15:14
Pour répondre à l'interrogation de Michel, je veux effectivement répliquer le "CASE" du VBA... directement dans une cellule par le biais d'une formule sans avoir recours à des IF imbriqués !

Merci, j'avais compris !!!!

abandon du suivi
0
Désolé, je pensais que je n'avais pas été clair.
0