Traitement de bcp de données

Bonjour tout le monde;

Voilà mon problème:

J'ai deux classeurs; un de 25 000 lignes et un de 59 000 lignes.

Sur le plus gros classeur (le dossier client) j'ai des numéros de clients avec des adresses et pleins d'autres infos partout.

Sur l'autre, j'ai une base de données des commerciaux avec d'autres adresses de clients potentiels pour des signatures à venir et pleins d'autres infos aussi. Ce que je cherche à faire c'est savoir si les clients qui sont dans la base de données des commerciaux sont déjà client chez nous ou pas.

Le problème c'est que certains (voir beaucoup) de ces clients potentiels sont déjà clients chez nous .

Ce que je pensais faire c'est partir d'un des deux fichiers et faire un test tel que:

" --> Je sélectionne le premier code postal du fichier le plus petit, cherche dans toute la colonne des codes postaux du fichier le plus gros. Si tu trouves le code postal que j'ai sélectionné dans le gros fichier alors: écrit moi l'adresse ainsi que le numéro de client dans la cellule a coté. et ensuite je déroule tout jusqu'à la fin."

La fin de ce "script" je sais l'écrire il n'y a pas de problème.

Ce que je ne sais pas faire c'est le " cherche dans toute la colonne des codes postaux du fichier le plus gros. "

Donc voilà ma question: comment demander à Excel de chercher dans toute la colonne et comparer avec 1 seule cellule?

Je ne sais pas du tout comment faire. J'ai essayé la rechercheV mais ça plante parce qu'il y a plusieurs clients dans les mêmes villes et donc plusieurs fois le même code postal....

J'ai emboîté les fonctions SI et OU et pleins d'autres choses avec NB.SI etc. mais j'avoue que là je suis un peu paumé!

J'espère que vous pourrez m'éclairer.

Merci,

Bien à vous.

Nicolas

Bonjour et bienvenue sur le forum

Ton problème me semble aisément soluble avec une macro.

Mais pour cela, il faudrait disposer de tes deux fichiers.

S'ils sont trop gros, passe par www.cjoint.com ou supprime des lignes....

Bye !

Bonjour,

Je ne peux malheureusement pas partager les fichiers sur internet car ils sont confidentiels. Cependant je peux vous les envoyer par MP pour vous soyez le seul à les voir à condition que vous les gardiez pour vous bien évidemment 8) .

Merci beaucoup pour votre réponse

Cdlt.

Nicolas

bonjour à tous

pour faire un essai, joins des fichiers courts (5 à 10 lignes), avec Dupont et Lavergne au lieu de tes clients

Bonjour,

C'est pas bête! Voici le fichier (j'ai mis 10 lignes en feuille 1 pour le fichier client et 10 lignes pour le fichier des commerciaux en feuille 2 avec de fausses informations pour vous montrer le problème) : https://www.cjoint.com/c/EGdmx5QOoVr

Alors j'en profite aussi pour vous parler en détail de ce que nous voudrions;

à la base je vous ai parlé des codes postaux à comparer. L'idée est finalement de comparer les adresses. Le gros problème que nous avons c'est que les adresses ne sont pas du tout écrites de la même façon d'un fichier à un autre.

Pensez-vous qu'il est possible de demander à excel de comparer les colonnes des adresses des deux fichiers et de dire "si tu trouves plusieurs caractères communs alors: affiche moi dans une cellule (sur une feuille a coté) << Déjà client >> sinon << Prospect >> et dans une cellule a coté le numéro de client correspondant puis l'adresse au passage si le site est déjà client"

Si vous avez des questions pour des infos complémentaires, n'hésitez pas.

Merci

Un essai à tester.

Quant à ta suggestion :

Pensez-vous qu'il est possible de demander à excel de comparer les colonnes des adresses des deux fichiers et de dire "si tu trouves plusieurs caractères communs alors: affiche moi dans une cellule (sur une feuille a coté)

Tester toutes les combinaisons possibles serait d'une telle complexité que je ne m'y risquerai pas.

Désolé !

Bye !

42compil2-v1.xlsm (21.15 Ko)

Bonsoir le forum,

C'est le rôle des expressions régulières, pour te documenter vois ce fil :

http://boisgontierjacques.free.fr/pages_site/chainesvba.htm

C'est vrai, au premier abord, cela paraît très obscur

klin89

Bonjour,

Je te propose de remplacer, dans la proposition de gmb, Trim(...) par Application.Trim(...)

Trim ne réduit pas les espaces internes multiples à 1, il ne le fait qu'aux extrémités

Application.Trim(...) qui utilise la fonction feuille le fait. Ca fera des divergences en moins.

Une autre amélioration serait de normaliser un peu les adresses.

Remplacer " R " par " Rue ", " boulevard " par " Bd " etc

eric

Bonjour à tous

@Eriic : Merci, tu m'as appris quelque chose.

Bye !

Bonjour

Avec une comparaison sur l'adresse complète

Bonjour,

Bonjour Banzai,

Dans le même style il y a FUZZY Logic, proposé par MS, basé sur la distance de Levenshtein.

Ca oblige l'installation d'un addin mais c'est une dll, beaucoup plus rapide que du vba.

Là il s'agit de 1 475 000 000 comparaisons quand même...

eric

Bonjour à tous,

Merci beaucoup pour votre aide, je pense avoir ce qu'il me faut pour travailler!

Je regarde tout cela lundi lorsque j'aurai accès à mon ordinateur.

Bonjour tout le monde,

Je réponds à Banzai64, j'ai essayé ton comparateur! Honnêtement je suis bluffé! Je touche pas mal en informatique surtout sur Ubuntu mais là j'avoue que je suis nul sur excel et en VBA! Je vais surement m'y mettre d'ailleurs !

Je suis actuellement en train de faire tourner le "programme" avec les 58000 lignes à comparer. Mon pauvre ordinateur du boulot à son bébé processeur qui chauffe mais je crois en lui !

Je vous tiens au courant si ça fonctionne.

Merci encore à tous! Et surtout à gmb, je n'ai pas utilisé ton "programme" car malheureusement j'ai un message d'erreur lorsque je rajoute toute mes lignes..!

Bonjour

jaxteller a écrit :

j'ai essayé ton comparateur

Houla pas si vite, la fonction qui compare n'est pas de moi (loin s'en faut - je n'ai pas cette compétence)

Je l'ai juste adaptée à un programme de mon cru

Je pense que tu devrais faire le test avec ce que propose eriiic

Mais prévoit du temps et des glaçons pour refroidir le(s) cerveau(x) (celui de l'ordinateur ou le tien ... ou les deux)

Je suis transparent je crois...

eric

Bonjour à tous

eriiic a écrit :

Je suis transparent je crois...

En tout cas pas pour moi : je lis tes messages avec toujours beaucoup d'intérêt.

Bye !

eriiic a écrit :

Je suis transparent je crois...

eric

Non non non! Je vous prie de bien vouloir m'excuser si vous avez pu croire le contraire!

J'ai cliqué bêtement sur les liens mais j'ai aussi lu votre message. Le seul souci c'est que je n'ai pas compris ce que vous vouliez que je fasse...


Banzai64 a écrit :

Je pense que tu devrais faire le test avec ce que propose eriiic

Que dois-je faire et comment mettre en oeuvre les changements qu'Eric propose?

Nico.

Bonjour

Tu suis le lien, tu lis et dans la Conclusion tu suis le lien vers Microsoft où tout est indiqué (en Anglais)

Je n'en sais pas plus

Rechercher des sujets similaires à "traitement bcp donnees"