probleme d'equivalences

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

manwholooklikedude

XLDnaute Junior
Bonjour à tous !

ça roule ? Je tiens tout d'abord à dire que vous avez un chouette forum et une chouette communauté.

dans l'entreprise ou je bosse j'ai un problème sur un outil excel que j'essaye de faire tourner: nous recevons des commandes par informatique, cependant certains codes barres ne sont pas reconnus par mon systeme car ils sont au format ztxt. Par exemple un code barre qui est normalement 0870056325 devient A---087005632500084

Le but de cet outil excel est d'identifier la partie "0870056325" dans le "A---087005632500084", j'y arrive par des GAUCHE et des DROITE successifs.

La ou cela se complique c'est que comme nous avons des produits en promos, un même code barre peut correspondre à différents produits: par exemple

0870056325 = produit X
0870056325 = produit X 10% gratuits
0870056325 = Produit X 3 au lieu de 2

J'ai donc besoin dans un premier temps d'identifier tous les codes barres, et dans une nouvelle feuille, de faire un tableau clair ou il y a le code barre et tous les produits qui y correspondent.

J'ai essayé de le faire par rechercheV mais ca ne marche pas vu qu'un code barre correspond à plusieurs produits

J'espere que j'ai été clair dans mon explication, j'ai un fichier, mais il fait + de 50Ko, je vais en faire une version light, pour le poster ici

toute aide sera la bienvenue

Merci d'avance
 
Re : probleme d'equivalences

Bonjour,

Une autre formule pour extraire ton code EAN (Feuille "Base")

=STXT(A2;5;13)

Pour ta RECHERCHEV() ou autres, je n'ai pas tout compris.

Peux-tu rajouter une explication et/ou un exemple ?

Dans ta feuille Code Barre tes codes EAN ont soit 8 ou 11 ou 13 caractères.
Il me semble que c'est 8 ou 13 pour l'EAN ?


A+
 
Dernière édition:
Re : probleme d'equivalences

Merci c’est exactement ce qu’il me faut, cependant je m’interroge encore sur certains points dans les formules de Monique:



=STXT(INDEX(MatCol;MIN(SI(Mat<>"";SI(NB.SI(B$2:B7;STXT(Mat;5;13))=0;LIGNE(Mat)))));5;13)&""

Je ne comprends pas la formule :
Quelle plage est représentée par MatCol ? Par Mat ?
A quoi servent les fonction MIN, NB.SI et LIGNE ?

Comment fonctionnent SOMMEPROD, ESTNUM et TROUVE ???

=SI(B8="";"";SOMMEPROD((ESTNUM(TROUVE(B8;EanProd)))*1))

=SI(OU(C8=0;C8="");"";SOMME(C$3:C$66)-SOMME(C8:C$66)+1)

A quoi sert la colonne A de la feuille 1 ?:
=SI(D2="";"";PETITE.VALEUR(SI(EanProd=D2*1;LIGNE(EanProd));NB.SI(D$2😀2;D2)))

Désolé de reposer des questions mais j’aimerais bien comprendre la manip vu que j’ai tronqué le fichier, il faudra que je la réadapte, en plus j’aurais sûrement à la réutiliser….



En tous cas merci à tous !

++
 
Re : probleme d'equivalences

Bonjour,

La formule :
elle est découpée en 4 étapes dans la feuille "Base"
N° de la 1ère ligne non vide
puis correspondance en A1:A65536 (MatCol) selon le n° de ligne
puis 13 caractères à partir du 5ème caractère
puis le tout

La colonne A de la feuille 1 :
elle évite les doublons
Elle renvoie la 1ère ligne où l'on trouve 3057640174193
puis la 2ème, etc
Quand elle a fini avec le 1er code, elle passe au 2ème
PETITE.VALEUR(SI(EanProd=K16*1;LIGNE(EanProd));NB.SI(K$2:K16;K16))

PETITE.VALEUR(SI(condition;valeur);1 puis 2 puis 3)

N° 1 puis 2 puis 3 sont donnés par NB.SI(K$2:K16;K16))

K16*1 : *1 parce que la formule Stxt() renvoie du texte
et que la colonne C (EanProd) de la feuille de produits contient des nombres

Colonnes B C E F G de la feuille 1 :
Par les numéros de la colonne A, Index(Tablo; n° de ligne ; N° de colonne) renvoie les correspondances

SOMMEPROD((ESTNUM(TROUVE(B7;EanProd)))*1)
renvoie le nb de fois où l'on trouve la valeur de B7 dans la plage des codes de la feuille de produits

TROUVE("son";"maison") renvoie 4, la position de "son" dans "maison"
TROUVE("tata";"maison") renvoie #VALEUR!
Le 1er est "NUM"érique, l'autre non
ESTNUM(TROUVE("son";"maison")) renvoie VRAI

Mais ça ne marche que pour une cellule
Donc on passe à SommeProd
=SOMMEPROD(ESTNUM(TROUVE("son";A2:A6))*1)
Elle fonctionne sur une matrice et fait ce calcul où VRAI = 1 et FAUX = 0
=SOMMEPROD({VRAI;FAUX;VRAI;FAUX;VRAI}*1)
 

Pièces jointes

Re : probleme d'equivalences

Re,

Je n'avais pas vu cette demande :
=SI(OU(C8=0;C8="");"";SOMME(C$3:C$66)-SOMME(C8:C$66)+1)

Le 1er code démarre en 1ère ligne,
il est répété autant de fois que nécessaire, selon la valeur dans la plage "Nb"
La formule sert à savoir quand on change de code
(en colonne D de la feuille 1)
Elle donne la position de chaque code,
position 1 pour le 1er code puis, s'il y a 4 fois le 1er code, position 5 pour le suivant

Je joins un mini fichier
 

Pièces jointes

Re : probleme d'equivalences

Re,

La 1ère des lignes, donc celle qui a le plus petit n°, donc la "Min"
mais avec une condition :
SI(NB.SI(B$2:B2;STXT(Mat;5;13))=0
que la plage Mat ne contienne pas, en B$2:B2 puis B$2:B3, les valeurs déjà renvoyées

La formule renvoie toutes les valeurs de la plage Mat sauf celles déjà renvoyées, en les prenant dans l'ordre où elles se présentent.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
4
Affichages
558
Réponses
4
Affichages
203
Réponses
7
Affichages
973
Réponses
3
Affichages
341
Retour