Compter le nombre de non conformités

zored -  
 zored -
Bonjour à tous,

Après plusieurs jours de galère je m'oriente vers vous car je n'ai toujours pas réussit à résoudre mon soucis (qui est enfaite plusieurs soucis mais rien de grave), malgré l'aide précieuse d'un foromeur de ccm.net (que je remercie encore au passage)

Voila, je possède une base de donnée avec des clients (une soixantaine) qui doivent respecter une hiérarchie du "point de livraison", c'est à dire que pour que ce "point de livraison" soit valable (pour mes 60 clients) il doit être composé du nom du point de livraison (dans mon exemple ci dessous auchan) + la commune de livraison, pour au final donné un point de livraison appelé "AUCHAN STRASBOURG" si la livraison est à strasbourg.

j'ai un extrait de données d'une période de 1 mois avec énormément de clients (150/200) qui peuvent ou non être présent dans ma base de donnée.
Le but est de mettre en évidence une donnée si celle ci n'est pas conforme, c'est à dire si elle ne respecte pas la façon dont elle doit être écrite, je m'explique:

[img]http://image.noelshack.com/fichiers/2014/08/1392814749-testt.png[/img]

Nous pouvons repérer ici qu'il s'agit du même point de livraison (ceci est un exemple), mais qu'il y a une anomalie sur la première ligne car AUCHAN n'est pas suivi de STRASBOURG (contrairement à la ligne 2 qui n'est pas en anomalie).
Le client 1 et 2 ne sont pas dans ma base de donnée et ne sont donc pas en anomalie non plus
Ceci est mon objectif final qui serait éventuellement fait "automatiquement" en cliquant sur un bouton qui me compterais ensuite le nombre d'anomalie(s)

J'ai jusqu'à présent procéder à la main mais c'est une réelle (et non négligeable) perte de temps car je suis persuader qu'on peut faire cela de façon automatique. J'ai déjà quelques débuts mais rien de bien concrets mais j'ai pu décomposer mon "objectif" en 3 partie:

1. il existe une anomalie par rapport à ma BDD

2. il n'y a pas d'anomalie par rapport à ma BDD (idéalement comme la 2nd ligne de mon exemple)

3. le point de livraison n'est pas contenue dans ma BDD, même avec la "soustraction" de la "commune de liv" sur le "point de liv" s'il y en a une (j'ai trouvé une macro pour enlever le texte d'une colonne contenue dans une autre colonne, par exemple
Col A----------------------------------- COL B
JANVIER 1998 en vacance--------- JANVIER
FEVRIER 1999 en Europe---------- FEVRIER
FEVRIER 2001 en Australie-------- MARS
etc...

va être transformé en
Col A---------------------- COL B
1998 en vacance-------- JANVIER
1999 en Europe---------- FEVRIER
2001 en Australie-------- MARS


Cette macro permettra de supprimer le texte "JANVIER", "FEVRIER", "MARS"... etc de la colonne où sont contenue toutes les infos (JANVIER 1998 en vacance, etc)
soit de supprimer le texte de la colonne A qui est contenue dans la colonne B (je pense partir de là car cela me semble une bonne idée, mais juste de changer un peu la macro non plus dans le but qu'elle me supprime un texte d'une colonne mais qu'elle m'affiche simplement dans une colonne 3 si le texte de la colonne 2 est bien contenue à la fin de la colonne 1, je sais c'est simple (ironiquement dit)).

Proposition :

1. dans le cas d'anomalie par rapport à ma base de donnée client

Vérification que la colonne "point de liv" contient le texte de la colonne "commune de liv" concernant les clients de ma liste (de 60) "listeclients"

=> par macro (j'ai trouvé sur internet une macro pour soustraire du texte, ce qui permet d'afficher une erreur lorsque ce texte n'est pas présent, en revanche cela ne fonctionne donc uniquement pour les clients de ma base de donnée, voir ci dessus...)

[B]si le texte "commune de liv" (Strasbourg) n'est pas contenue à la fin de mon "point de liv" (Auchan tout seul par exemple), alors écrire "oui" dans la colonne "anomalie" d'à côté [/B]

2. Dans le cas où il n'y a pas d'anomalie:

Si le texte "commune de liv" (Strasbourg par ex) est contenue à la fin de la colonne "point de liv" (donc Auchan Strasbourg par exemple ici)
alors ce n'est pas une anomalie et la conformité est bonne


3. point de livraison (client) non contenue dans la base de donnée

si le "point de liv" n'est pas contenue dans ma base de client alors me le mettre le fond en orange, ou en jaune .. etc pour les mettre en évidences, et faciliter le traitement des données


j'aurais donc chercher divers renseignements à savoir :

- modifier la macro pour qu'elle ne m'efface pas les "communes de livraison "de de ma colonne "point de liv" (car c'est ce que cette macro fait) mais qu'elle m'affiche "oui" ou "non" à la place (dans la colonne anomalie), où le cas "conforme" est le cas 2 et le cas "non conforme" est le cas 1.
- compter le nombre d'anomalies par rapport à ma BDD
- tenir compte des données non présentes dans ma BDD (éventuellement de me les trier et de me les mettre soit au début soit à la fin de ma feuille)

la macro disponible ici avec l'exemple que j'ai repris ci dessus au début de mon post (trouvé grâce à google)
[url]http://www.excel-downloads.com/forum/attachments/forum-excel/129330d1254131817-soustraire-donnees-texte-suppressions.zip[/url]

Je reste entièrement disponible envers quiconque sera assez charitable pour m'aider... :)

SOURCE (sans aucune volonté de faire de la publicité, si je n'ai pas le droit merci de retirer la source)
[url]http://www.excel-downloads.com/forum/127894-soustraire-donnees-texte.html[/url]

Cordialement, et merci d'avance ! (et désolé pour le pavé)

H.

2 réponses

romain7254 Messages postés 1020 Date d'inscription   Statut Membre Dernière intervention   297
 
Bonjour,

J'ai tout lu, et je vous avouerai que je me suis complètement perdus.
Pouvez vous résumer ? Que vous faut-il en gros ?

Cordialement, Romain.
0
zored
 
j'ai enfaite plusieurs choses à faire que je n'arrive pas à réaliser.

Dans un premier temps j'aimerais identifier les points de livraisons corrects (ou non) par rapport à ma BDD de clients (60 environ), de façon automatique
un point de livraison est correct si il contient le nom du point de livraison (du client en gros) et de la commune de destination:

par exemple

point de liv: -----------------------------Commune --------------- Anomalie
AUCHAN STRASBOURG --------------- STRASBOURG--------------- NON

Ici ce point est conforme

point de liv: --------------- Commune --------------- Anomalie
AUCHAN --------------- STRASBOURG --------------- OUI

Ici ce point est NON conforme

et si je possède un client qui n'est pas dans ma base de donnée, alors il ne sera pas en anomalie car il n'existe pas de façon particulière d'écrire le point de livraison.
Je voudrais rendre tout ceci automatique

Merci pour votre retour et merci d'avance pour votre aide

Cordialement
H.
0
romain7254 Messages postés 1020 Date d'inscription   Statut Membre Dernière intervention   297
 
La colonne point de livraison est-elle la colonne A ?
0
zored
 
Merci pour votre sollicitude,

Non, dans mon extrait de donnée de 1 mois, la colonne point d'arrivé (livraison) est la colonne L
la colonne "commune" est la colonne M
et j'aurais souhaité faire apparaitre s'il s'agit d'une anomalie ou non, dans la colonne N


Cordialement
0
zored
 
voici un exemple de fichier
j'en ai retirer toutes informations sensibles mais cela aidera fortement à comprendre

http://cjoint.com/?0BtpuUDSkNs

EDIT: si un client n'est pas dans ma BDD ALORS il sera en anomalie

merci
cordialement
0
romain7254 Messages postés 1020 Date d'inscription   Statut Membre Dernière intervention   297
 
Actuellement dans mon entreprise, je ne peux pas consulter votre fichier. je regarderais ça ce soir à mon domicile. je vous tient au courant
0
zored
 
merci beaucoup c'est très gentil de votre part :)

Cdlt
H.
0