Excel lier CONCATENER, STXT et conditions

Résolu/Fermé
EvaG - 28 déc. 2016 à 16:09
Raymond PENTIER Messages postés 58719 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 7 novembre 2024 - 29 déc. 2016 à 13:15
Bonjour,

Ma question va certainement vous sembler très simple mais j'y suis depuis deux heures et je n'arrive pas à lier mes formules CONCATENER, STXT, SI et OU....

Je dispose en colonne 1 du "nom" de mes articles

En colonne 2, j'ai des "codes dépôts" de mes produits qui sont répartis en 60D, 61D, 62D, 63D, 70D, 71D, 80D.

En colonne 3, j'ai mes "codes articles" : CHAASG, CHA11, CHACGM, CHA12, CHA17, ADM11

Je souhaiterai créer deux colonnes supplémentaires :

En colonne 4: "dépot région"
=960 si le code dépôt est 60D, 70D, 71D ou 80D
=961 si le code dépot est 61D
=962 si le code dépot est 62D
=963 si le code dépot est 63D

J'ai tenté la formule : =SI((CONCATENER("9";(STXT(E2;1;2)))=OU(970)*OU(980)*OU(971));(960);(CONCATENER("9";(STXT(E2;1;2))))) mais naturelement j'ai du m'emmêler les pinceaux car ça ne fonctionne pas du tout...

En colonne 5 je souhaiterai réduire mes codes articles à 3 catégories:
CHAASG: contient uniquement les CHAASG (de la colonne 3)
CHACGM: contient uniquement les CHACGM (de la colonne 3)
CHA11: contient les CHA11, les CHA12, CHA17
Rien si le code article initial était ADM11.


Je ne sais pas si c'est claire ou pas ... Merci d'avance à ceux qui auront la patience de m'aider !!

Cordialement

Eva
A voir également:

3 réponses

-NoeGo- Messages postés 52 Date d'inscription mercredi 28 décembre 2016 Statut Membre Dernière intervention 7 mai 2021 11
28 déc. 2016 à 16:52
Bonjour,

Je pense que le plus simple est de passer par des SI imbriqués.

En colonne 4, (en D1 dans mon exemple) :
=SI(OU(B1="60D";B1="70D";B1="71D";B1="80D");960;SI(B1="61D";961;SI(B1="62D";962;SI(B1="63D";963;"Code Inconnu"))))

En colonne 5, (en F1 dans mon exemple) :
=SI(ou(C1="CHAASG";C1="CHACGM");C1;SI(ou(C1="CHA11";C1="CHA12";C1="CHA17");"CHA11";SI(C1="ADM11";"";"Code Inconnu")))

Sinon, pour être encore plus propre un petit recherchev avec une table de correspondance serait pas mal non plus.
Il conviendrait alors de faire un tableau avec tous les codes articles et en face les regroupements de la colonne 5.
De même, les codes dépots avec en face les depots région.
La formule serait alors beaucoup plus simple, cf fichier joint.
https://www.cjoint.com/c/FLCpZHvCPID

Il suffit de renseigner les colonnes B et C pour que les colonnes D et F se remplissent selon les tables de correspondance en colonne G à K.

Bonne journée,
-NoeGo-
1
1000 mercis pour votre aide !!
Ca fonctionne parfaitement et en effet la RECHERCHEV simplifie complètement les choses ...
Bonne journée,
Eva
0
Raymond PENTIER Messages postés 58719 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 7 novembre 2024 17 233
28 déc. 2016 à 16:31
Bonjour.

Pour qu'on puisse t'aider plus facilement et plus rapidement, envoie ton fichier.
 1) Tu vas dans https://www.cjoint.com/ 
2) Tu cliques sur [Parcourir] pour sélectionner ton fichier (15 Mo maxi)
3) Tu défiles vers le bas pour cliquer sur le bouton bleu [Créer le lien Cjoint]
4) Au bout de quelques secondes la deuxième page s'affiche, avec le lien en gras ; tu fais un clic-droit dessus et tu choisis "Copier le lien"
5) Tu reviens dans ta discussion sur CCM, et dans ton message de réponse
tu fais "Coller".
=>Voir la fiche https://www.commentcamarche.net/faq/29493-utiliser-cjoint-pour-heberger-des-fichiers

0
Raymond PENTIER Messages postés 58719 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 7 novembre 2024 17 233
Modifié par Raymond PENTIER le 28/12/2016 à 17:12
En attendant, je voudrais te dire que les fonctions CONCATENER et STXT n'ont pas du tout leur place pour résoudre tes problèmes ...
Qu'est-ce qui t'a fait croire qu'elles pourraient t'être utiles ?

Avec les noms en B:B, les dépôts en C:C et les articles en D:D; la formule en E:E sera
=SI(C:C="";"";SI(C:C="63D";963;SI(C:C="62D";962;
SI(C:C="61D";961;960))))

et la formule en F:F sera
=SI(D:D="";"";SI(D:D="ADM11";"";SI(OU(D:D="CHAASG"; D:D="CHACGM");D:D;"CHA11")))

Tu constates qu'il n'y a pas la moindre ressemblance avec la tienne ...
https://www.cjoint.com/c/FLCql2voAtB

Cordialement.
C'est bien, la retraite ! Surtout aux Antilles ... :-) 
Raymond (INSA, AFPA, CF/R)
0
Merci beaucoup pour votre aide !! Cette réponse fonctionne également ! J'ai pensé à la formule CONCATENER pour lier le "9" aux 60,61,62... Mais en effet votre proposition est nettement plus simple.

Bonne journée et bonne retraite aux Antilles :)
0
Raymond PENTIER Messages postés 58719 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 7 novembre 2024 17 233 > EvaG
29 déc. 2016 à 13:15
C'est volontairement que je t'ai posé la question, car l'utilisation des fonctions CONCATENER et STXT te donne comme résultat des textes comme "960" et pas des valeurs numériques comme 960 ; il aurait fallu prévoir une conversion si tes codes doivent ensuite entrer dans des calculs ...
Cordialement.
0