epuration base de données

sylv@in

XLDnaute Junior
bonjour,

je dois traiter une base de données comportant une colonne "référence pièce"
les références varient selon le conditionnement de la pièce

ex :

01002240-BV
01002240-CA-ADS

il s'agit de deux pièces identiques (pièce 01002240) mais pas conditionnées pareilles donc la base les considère comme deux pièces différentes, je voudrais virer tout ce qu'il y a après le numéro ("-BV" , "-CA-ADS"... il existe au moins une trentaine de conditionnement différents donc un case parait peu envisageable) afin de pouvoir cumuler ensuite les quantités

le problème c'est que certaines pièces portent des référence ou lettre, chiffres et tirets sont mélangés (cf a la fin de la pièce jointe)

ex:
P-53279 (ici il faut garder tous les caractères)
P-57021
P-57022
P-912111307
R-5503028
R-61270
R-803910-AA (icic il faut virer juste l'extension "-AA"
R-803910-CL
T-1855
T-1856

avec la diversité des références j'arrive pas a automatiser le truc si quelqu'un a une solution

merci
 

Pièces jointes

  • REF PIECE.zip
    13.6 KB · Affichages: 26

abcd

XLDnaute Barbatruc
Re : epuration base de données

Bonjour,

Pas beaucoup de réponses !
C'est probablement parce que ce n'est pas évident.

Je suis parvenu à le faire en passant par une imbrication de fonctions SUBSTITUE et en les nommant par séries de 7.

Mais il doit y avoir plus simple pour supprimer toutes les lettres d'une chaine de caractères, ou extraire les chiffres, mais je n'ai pas encore trouvé.

Un peu de patience.

abcd
 

job75

XLDnaute Barbatruc
Re : epuration base de données

Bonjour,
Il faut je pense faire une fonction Epur(x) sur VBA qui analyse (boucle sur les caractères) le contenu de la cellule x, de manière à ne conserver que la partie numérique. Vous introduirez cette fonction dans une nouvelle colonne. Désolé, je n'ai pas le temps de la construire.
A+
 

sylv@in

XLDnaute Junior
Re : epuration base de données

le problème c'est qu'il ne faut pas forcément garder que la partie numérique certaines références sont composées de lettre aussi (cf pièce jointe) qu'il faut de temps en temps garder et de temps en temps supprimer

j'ai essayé quelques solutions mais apart un switch géant ou l'on rentre toutes les possibilités jvois pas grand chose d'autre (jpréférerais trouver une solution plus subtile mais c'est peut etre tout simplement pas possible avec la diversité des références)
 

Spitnolan08

XLDnaute Barbatruc
Re : epuration base de données

Bonjour à tous,

visiblement tes références de pièces sont de tous les formats...:eek:
Que des chiffres, que des lettres ou des lettres et des chiffres avec en plus des tirets...

Deux solutions :
1/ Tu revois ta nomenclature pour qu'elle soit logique et facilement identifiable (Je crains que ce ne soit pas possible:rolleyes:)

2/ Tu crées une feuille Data où sont répertoriées toutes tes références. A partir de là tu peux faire une recherche pour réunir toutes les pièces de même référence.

Sinon pas d'issue... puisque tu as une base non homogène.

Cordialement
 

sylv@in

XLDnaute Junior
Re : epuration base de données

ba j'ai proposé a l'entreprise de revoir ca nomenclature pièce mais faut pas rever lol
sinon exempel pour mieux comrpendre les caractères a supprimer

ex:
01002240-BV (ici virer l'indice "-BV")
01002240-CA-ADS (ici il faut virer l'indice "-CA-ADS")

P-53279 (ici il faut garder tous les caractères)
P-57021
P-57022
P-912111307
R-5503028
R-61270
R-803910-AA (ici il faut virer juste l'extension "-AA" car c'est juste un indice)
R-803910-CL
T-1855
T-1856

le but c'est de supprimer les indices pour regrouper les pièce identiques par exemple le but est d'avoir :

01002240
01002240 (référence présente au dessus donc supprimer et cumuler quantité)
P-53279
P-57021
P-57022
P-912111307
R-5503028
R-61270
R-803910
(R-803910) -->pièce déja présente donc supprimer et cumuler quantité
T-1855
T-1856

mais comme vous dites c'est tellement diversifié l'appelation des références que c'est compliqué de faire quelque chose général c'est limite du cas par cas
 

sylv@in

XLDnaute Junior
Re : epuration base de données

ouai ba c'est limite une base au cas par cas car on peut pas faire une routine par rapport aux chiffres ni aux tirets... donc je vais enlever tout a la main ou un switch de bourrin
je me doutais que ca serait compliqué mais je demandais au cas ou quelqu'un aurait trouvé une solution miracle!!

merci quand même
 

Statistiques des forums

Discussions
312 891
Messages
2 093 354
Membres
105 698
dernier inscrit
ALAIN37250