Convertir une liste de contacts en base de données

Bonjour,

je dispose d'un fichier excel dans lequel, pour un client donné, je peux avoir plusieurs contacts (max 6 / clients).

Pour des besoins internes, je souhaiterais convertir cette liste de façon à ce que pour un client donné, chacun des contacts se retrouve dans une colonne.

Schématiquement, je passerais d'un tableau à 2 colonnes et x lignes , à un tableau à 7 colonnes (nom du client + 1 colonne par contact), de façon à n'avoir qu'une ligne pour un seul et même client.

J'ai fait un bout de code VBA en utilisant une boucle, sauf que, ayant prés de 8000 lignes c'est tréééés looong et je pense que mon code n'est pas adapté.

Mon code est du type :

if nbcontact=2 then

if client1<>client2 then

sheets("feuil2").range("a"&dernigne).value= contactclient

sheets("feuil2").range("b"&dernigne).value= mailclient

elseif client1=client2 then

sheets("feuil2").range("c"&dernigne).value= contactclient

sheets("feuil2").range("d"&dernigne).value= mailclient

elseif nbcontact =3 then....

Encore une fois, mon code fonctionne, mais il n'est certainement pas assez sophistiqué (je suis débutante en vba) et je dois pouvoir utiliser d'autres fonctions plus efficiente .

D'avance, merci pour votre aide.

Bonjour

Tu devrajs joindre ton fichier en ne conservant qu'une vingtaine de clients pour voir comment il se présente.

Bye !

Bonjour Gmb,

tout d'abord merci de t'intéresser à mon cas

Un exemple en pièce jointe.

16test.xlsx (10.17 Ko)

Evidemment, cette base de quelques lignes ne pose pas de problème de lenteur de code, en revanche, sur plusieurs milliers, c'st pas la même chose

Merci d'avance

Un essai à tester. Te convient-il ?

Bye !

6test-v1.xlsm (24.93 Ko)

merciii, je teste ça demain... quand je vois le code, je m'aperçois que j'ai de GROOOOS progrès à faire !

Par exemple, je ne connaissais pas "CreateObject("Scripting.Dictionary")".

Merci gmd

Ça fonctionne nickel, merci bcp gmd

Rechercher des sujets similaires à "convertir liste contacts base donnees"