Comparer des fichiers Excel

septh -  
gbinforme Messages postés 15481 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,
j'ai un petit soucis, je vais tacher d'être le plus clair possible.

j'ai:
un fichier de commande (fichier au format xls).
un fichier de livraison (fichier au format xls).
plusieurs catalogues dans divers format (word notament).

Il faut que je vérifie que ce qui est livré (donc dans le fichier de livraison) corresponde à ce que j'ai commandé (fichier de commande). Il y a aussi quelques vérification simple à faire dans le fichier de livraison.
Il faut aussi vérifier que les prix indiqués dans le fichier de livraison correspondent aux prix des catalogues.

exemple simplifié:
fichier de commande:
routeur | ligne | backup | pays | prix ligne | prix routeur
model A | 1 M | oui | FR | 100 € | 200 €

fichier de livraison
ligne | backup | routeur | pays | prix ligne | prix routeur
1 Mbs | y | A | france | 100€ | 200€

L'ordre n'est pas le même, le format n'est pas exactement le même, le nom des champs ne correspond pas vraiment entre les fichiers ( il doit être possible de se servir du champs adresse comme clé )

Les vérifications simples à faire dont je parlais, sont par exemple, dans le fichier de livraison de vérifier: si la ligne est supérieur a 1 M alors il y a un backup sinon il n'y en a pas ( ça pas de problème les formules s'en chargent)

La partie compliquée est de comparer mes données dans les 2 différents fichiers et après de comparer avec les prix sur les divers catalogues. Le fin du fin serait d'avoir un retour d'erreur à chaque fois qu'il y a des infos qui ne collent pas.

J'avoue que je n'ai pas vraiment d'idées pour automatiser ça, et la perspective de continuer à faire ça à la main ne m'enchante guère.
A voir également:

3 réponses

gbinforme Messages postés 15481 Date d'inscription   Statut Contributeur Dernière intervention   4 730
 
bonjour

Ce que tu sais faire visuellement ne va pas être facile à mettre en œuvre par macro.

Comment être sûr que "A" doit être comparé à "model A" et non à Anatole ou "modèle Absent" ?

Cela va se poser comme question pour toutes les erreurs de saisie et autres.

Pour faire ce genre de contrôle, il faut commencer par faire une nomenclature rigoureuse et ensuite imposer une saisie sur liste sinon c'est vite de gros soucis de gestion de la base.
0
septh
 
En fait la nomenclature est assez rigoureuse (il y a quelques variantes mais pas tant que ça). Par contre elle est différente entre le fichier de commande et le fichier de livraison. Je ne pense pas qu'on puisse s'en sortir en comparant exactement la chaine de caractère par contre il doit être possible de comparer par rapport à un pool.

comparer modèle A avec (A, mdl A ou m A) par exemple.

Pour l'instant ce qui m'embête le plus c'est de réussir a faire une macro qui me vérifie mes 2 fichiers en fonction d'une clé, par exemple la cellule adresse (identique sur les 2 fichiers) et qui me renvoie les erreurs détectées quand il y en a. La j'avoue que je sèche un peu.
0
gbinforme Messages postés 15481 Date d'inscription   Statut Contributeur Dernière intervention   4 730
 
bonjour

par exemple la cellule adresse (identique sur les 2 fichiers

Cette "adresse" qui n'est pas présente dans ton schéma de données ?

qui me renvoie les erreurs détectées

C'est quoi les erreurs ?
Absent dans un des classeurs ?
0
septh
 
Oui la cellule adresse n'est pas présente dans l'exemple simplifié que j'ai donné mais elle existe dans le vrai document.
j'ai un champ pour: le nom du site, l'adresse, le pays et après pour les diverses données. (je n'ai mis que le pays dans l'exemple pour faire simple).
Les 2 fichiers ne sont pas présenter de la même façon (ordre des champs différents, présence de certain champs d'un coté et pas dans l'autre). Mais chaque ligne, dans les 2 fichiers, possède un champ adresse et un champ site et on ne vérifie que certains champs de données (qui sont bien présent dans les 2 fichiers)


les erreurs a détecter sont du type: on avait commander ceci pour tel pays on nous a livré cela, on voulait un backup on en a pas eu. en gros le résultat de la comparaison entre les fichiers.



J'essaye d'être clair mais c'est pas évident en tout cas merci pour l'intérêt que tu portes a ce problème.
0
gbinforme Messages postés 15481 Date d'inscription   Statut Contributeur Dernière intervention   4 730
 
bonjour

J'essaye d'être clair mais c'est pas évident

Effectivement, c'est pas évident de donner des réponses précises (pour automatiser ça fraudrait pourtant).

Pour faire l'analyse d'un cas et coder sa solution, la connaissance précise de la structure des données est primordiale : peut-être certains peuvent donner une solution en devinant comment sont faits les classeurs que tu as devant les yeux mais en ce qui me concerne je n'ai pas de connaissance dans l'art divinatoire et je me borne à de la gestion de données.

Tu parles de se baser sur l'adresse mais cela me parait illusoire car pour le pays il n'ait déjà pas enregistré de la même façon, alors pour l'adresse il ne doit pas y avoir 2 syntaxes mais de multiples (12 rue ... ou 21 r. ...; av. avenue; etc).

comparer modèle A avec (A, mdl A ou m A) par exemple.

Cela voudrait donc dire qu'il faut établir une correspondance de nomenclature : c'est un travail de romain, pas d'informaticien...
0