Probleme avec des conditions multiples.

Résolu/Fermé
Le Magicos Messages postés 5 Date d'inscription samedi 26 octobre 2013 Statut Membre Dernière intervention 26 octobre 2013 - 26 oct. 2013 à 12:30
via55 Messages postés 14495 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 7 novembre 2024 - 26 oct. 2013 à 21:59
Bonjour,
Tout le monde commence par je n'ai pas trouvé de solution à mon problème, alors je m'adresse aux pros que vous êtes. Je ne vais pas donc pas faillir à la règle.
Je suis magicien et pour des raisons qui peuvent vous sembler obscures (secret oblige) je vous expose mon problème le plus clairement possible.


Dans une cellule (que je vais appeler cellule de référence), j'ai deux chiffres (qui peuvent être compris entre 00 et 99).
Je souhaites:
si ce nombre est impair qu'il soit écrit "rue" dans une cellule adjacente (ou désignée par moi).
si ce nombre est pair qu'il soit écrit "Avenue" dans une cellule adjacente (ou désignée par moi).
si ce nombre à (deux chiffres) se termine par zéro, qu'il soit écrit "Boulevard" dans une cellule adjacente (ou désignée par moi).

Exemples:
si j'ai 17 en (a1) alors je dois avoir le mot "rue" en (a2)
si j'ai 44 en (a1) alors je dois avoir le mot "avenue" en (a2)
si j'ai 40 en (a1) alors je dois avoir le mot "Boulevard" en (a2)

d'autre part, à partir du même chiffre de cette cellule de référence, je souhaite qu'en fonction de son rang, il soit inscrit dans une autre cellule la lettre qui lui correspond selon la formule classique a=1,b=2,c=3 ,etc.
Cependant, si dans la cellule de référence le chiffre est supérieur à 26 (il n'y a que 26 lettres) il faut alors ne pas tenir compte du zéro final (50 doit être considéré comme un 5, 40 comme un 4 ...etc)
dans tous les autres cas, 27,38,76 etc ne tenir compte que du chiffre des unités.
27 doit être considéré comme un 7, 38 comme un 8 ...etc

Des formules toutes faites seraient les bienvenues car je ne suis pas un expert sur le tableur excel. j'ai pourtant essayé de me débrouiller seul.

Soyez remerciés par avance.
Bien magiquement votre.

4 réponses

via55 Messages postés 14495 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 7 novembre 2024 2 734
26 oct. 2013 à 12:47
Bonjour

En supposant le nombre en A3 :

pour la rue :
=SI(MOD(A3;10)=0;"Boulevard";SI(MOD(A3;2)=0;"Avenue";"Rue"))

pour la lettre :
=SI(MOD(A3;10)=0;CAR(64+A3/10);SI(A3<26;CAR(64+A3);CAR(64+(A3-ENT(A3/10)*10))))

Bon spectacle

Cdlmnt
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 413
Modifié par Vaucluse le 26/10/2013 à 12:58
Bonjour
c'est magique:
=SI(A1="";"";SI(ET(A1<27;MOD(A1;10))=0;"Boulevard";SI(MOD(A1;2)=0;"avenue";"rue"))
cette formule, par contre va considérer les nombres en 0 comme pair à partir de 30 et va donc renvoyer "Rue"

pour ne considérer que le chiffre des dizaines, c'est un peu plus compliqué:
=SI(A1="";"";SI(OU(A1=10;A1=20);"boulevard";SI(ET(MOD(A1;10)=0;MOD(A1/10;2)>0);"Rue";SI(ET(MOD(A1;10)=0;MOD(A1/10;2)>0);"avenue";SI(MOD(A1;2)=0;"avenue";"rue")))))

cette formule ne renvoi boulevard que pour 20 et 10, ce qui semble correspondre à vos explications.

Bien placer les items dans l'ordre
crdlmnt
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 413
26 oct. 2013 à 13:07
... et pour suivre,quant au problème de rang, le plus simple semble être de passer par une colonne supplémentaire avec cette formule:
=SI(ET(MOD(A1;10)=0;A1>20);A1/10;A1)
et appliquer la formule rang sur cette nouvelle colonne

crdlmnt
0
Le Magicos Messages postés 5 Date d'inscription samedi 26 octobre 2013 Statut Membre Dernière intervention 26 octobre 2013
26 oct. 2013 à 16:23
Bonjour et merci,
j'ai remplacé dans la formule que vous m'avez proposé: =SI(ET(MOD(A1;10) par
=SI(ET(MOD(A1;30) afin qu'elle ne s'applique qu'après les 26 premières lettres.

Sinon au lieu de J pour 10, j'obtenais A. Et au lieu de T pour 20, j'obtenais B.

La formule fonctionne donc bien avec les multiples de 30 (60 et 90) sauf curieusement pour les autres dizaines (40,50,70,80,) ou c'est le caractère "@" qui s'affiche. Pouvez vous trouver une solution à cette particularité ? Si cela vous est utile je suis sur MAC.
Avec plein de mercis.
Magicalement votre
0
Le Magicos Messages postés 5 Date d'inscription samedi 26 octobre 2013 Statut Membre Dernière intervention 26 octobre 2013
26 oct. 2013 à 13:38
Avant tout un grand merci. VOUS êtes magiques!
Je test et je reviens vers vous.
Magiquement vôtre.
0
via55 Messages postés 14495 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 7 novembre 2024 2 734
26 oct. 2013 à 17:22
A Le Magicos

Effectivement je n'avais pas compris que la regle du 0 ne s'appliquait pas en dessous de 26
Normal que ça ne s'affiche pas correctement si tu modifies la formule de MOD qui donne le reste de la division (tu ne prend en compte que les divisions par 30)

Il suffit d'inverser les SI dans la formule pour que la condition à appliquer en premier soit celle quand <26:

=SI(A3<26;CAR(64+A3);SI(MOD(A3;10)=0;CAR(64+A3/10);CAR(64+(A3-ENT(A3/10)*10))))

Cdlmnt

A Vaucluse que je salue au passage
je pense que c'est à ma moi que s'adresse le demandeur, j'avais fourni une réponse une peu avant toi ( pour une fois!) et avec une formule un peu plus courte, tu as bien compliqué sur ce coup !

bien cordialement

0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 413
Modifié par Vaucluse le 26/10/2013 à 17:32
Salut Via
effectivement, mais je n'ai toujours pas compris ce que veux le demandeur. Donc je te laisse avec lui si ça fonctionne.
Je retire mon message et je me retire aussi sur la pointe des pieds.
Bien cordialement

... mais je comprend peut être un peu mieux pourquoi le demandeur trouve des @ dans ses résultats!!
0
via55 Messages postés 14495 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 7 novembre 2024 2 734
26 oct. 2013 à 17:40
Re Vaucluse

De 1 à 26 il veut la lettre de l'alphabet correspondante
Au dessus la lettre de l'alphabet correspondant aux unités sauf pour les dizaines où il faut prendre en compte le chiffre des dizaines
par contre il n'a pas parlé de centaine, si le nombre dépasse 99 ça ne marche plus !

Bien cordialement
0
Le Magicos Messages postés 5 Date d'inscription samedi 26 octobre 2013 Statut Membre Dernière intervention 26 octobre 2013
26 oct. 2013 à 17:58
Oui Via55, c'est a vous que je m'adressait car vous avez répondu en premier. j'ai du répondre au mauvais endroit (Pas l'habitude des forum moi!) C'est donc vos propositions que j'ai mise en oeuvre.

Qu'il me soit permis toutefois de remercier Vaucluse qui semble s'être donné bien du mal pour me rendre service. Il y a plein de routes qui mènent à Rome. On peut faire disparaitre une pièce de monnaie soit en l'attachant à un fil élastique, soit par l'habileté pur . L'important c'est qu'elle disparaisse :)

Je ne travaille pas dans mon problème sur les chiffres supérieur à 99.

je m'empresse vite de tester votre proposition pour les @ qui s'affichent. Je vous tient au courant, c'est le minimum que je puisse faire.
Magicalment
0
Le Magicos Messages postés 5 Date d'inscription samedi 26 octobre 2013 Statut Membre Dernière intervention 26 octobre 2013
26 oct. 2013 à 20:35
Merci encore, car tout cela fonctionne à merveille ! (tout comme je le souhaitai) .
Via 55 c'est vous le magicien sur ce coup là.

J'ose toutefois de façon optionnelle, vous demandez un dernier coup de baguette magique.
Vous semble t-il possible que les résultats issus de la formule que vous m'avez construite...

(=SI(A3<26;CAR(64+A3);SI(MOD(A3;10)=0;CAR(64+A3/10);CAR(64+(A3-ENT(A3/10)*10))))
qui génère une lettre, que cette lettre à son tour génère un mot (toujours le même pour la même lettres.)

Ainsi si j'obtiens un A grâce à votre formule, alors le mot abricot (c'est un exemple hein) s'inscrit dans une cellule adjacente. Si c'est un B, le mot banane, un C, le mot Cornichon et ainsi de suite... il n'y aura que 26 mots différents puisque 26 lettres.

Vous remarquez que chacun des mots a pour initiale la lettre générée grâce à votre formule.
Rassurez vous, si ce n'est pas possible je ferais (ce sera fastidieux toutefois ) une conversion manuelle.
Abracadabratement votre.
0
via55 Messages postés 14495 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 7 novembre 2024 2 734
26 oct. 2013 à 21:59
Pas de problème, un coup de baguette et hop

Un court exemple valant mieux qu'un long discours :
https://www.cjoint.com/?0JAv5vw3g2A

Cordialement
0