Remplir tableau a partir d'une database avec des blancs

Bonjour,

Je suis débutant en VBA et cherche à améliorer et simplifier certaines tâches récurrentes.

Je cherche à remplir une tableau dans une feuille database_op à partir d'une autre feuille (du même classeur) nommée data_base. Jusque là rien de bien difficile mais le hic est que ma feuille data_base comporte plusieurs lignes avec le même ID et des blancs dans les colonnes suivantes qui vont me servir à documenter mon tableau.

Dans le fichier exemple que je joins il y a également la feuille indiquant le résultat attendu.

J'ai bien tenté l'affaire avec la fonction find mais le problème est que la recherche s'arrête au premier ID trouvé correspondant a la valeur de recherche. Dans ce cas quand les cellules correspondant aux colonnes que je veux documenter sont vides, la recherche ne se poursuit pas jusqu'au prochain ID correspondant à la recherche pour trouver les cellules non vides et documenter mon tableau.

Le fichier joint n'est qu'un simple exemple car mon projet comporte environ 40 colonnes et 10 000 lignes. J'avais donc pensé traiter cette recherche en passant par un array, mais je n'y arrive pas non plus.

Une bonne âme pourrait elle m'éclairer ?

Merci

11essai-a.xlsm (9.78 Ko)

Bonjour

J'ai fait avec un tableau

A vérifier

Merci Banzaï, ceci répond exactement au résultat recherché. Je n'ai plus qu'à l'adapter à mon projet. Je me lance et reviens vers le forum dès que j'ai pu tester.

Merci encore et, ......Quelle rapidité.

Bravo!

Bonjour Banzaï,

J'essaie de réutiliser ta solution , mais malheureusement je n'ai pas les compétences suffisantes pour arriver à déchiffrer ce qui se passe dans ton programme et pouvoir ainsi transposer dans mon projet final.

Pourrais tu, svp, commenter tes lignes afin que je puisse comprendre et reproduire en adaptant à mon projet. Je débute en VBA mais juste faire de la recopie ne m' intéresse pas, je souhaite pouvoir comprendre ce que je fais.

Je comprends que le T1 est le tableau source et le T2 le tableau d'accueil, que J est une variable ligne pour T1 et i la variable ligne pour T2. Pour Indice et L j'ai plus de difficultés.

Merci pour ton aide

A+

Bonjour

Je t'ai inscris quelques commentaires

Didier41 a écrit :

Je comprends que le T1 est le tableau source et le T2 le tableau d'accueil, que J est une variable ligne pour T1 et i la variable ligne pour T2. Pour Indice et L j'ai plus de difficultés.

C'est presque ça,

T1 est le tableau source

T2 est le tableau d'accueil

J est bien pour parcourir T1

Mais c'est L pour parcourir T1 en seconde boucle

Et I sert à parcourir les colonnes de T1 et les lignes de T2

2 boucles imbriquées : Pour chaque élément de T1 (boucle J) on cherche si un autre élément de T1 est identique (Boucle L)

Merci Banzaï.

J'ai compris le fonctionnement grâce à tes commentaires et j'ai pu retranscrire tout ça dans mon projet. Et là, oh miracle, ça fonctionne parfaitement. Mais bien sur il y a toujours quelques imperfections à résoudre.

A la fin, tu supprimes la colonne C (qui en effet ne sert pas dans le tableau d'accueil). J'ai bien entendu voulu faire de même avec toutes les colonnes (une bonne vingtaine) dont je n'ai pas besoin dans mon projet et là, bien évidement çà ne fonctionne pas. Normal puisque pour chaque colonne que tu supprimes, la suivante prend sa référence (eg. si suppression de C, D devient la nouvelle C). Existe-t-il une solution pour pouvoir supprimer toutes les colonnes inutiles en une seule fois?

J'ai également un Pb de dates. Le fichier source était en Anglais et j'ai bien pu retranscrire les dates en bon français mais quand je les manipule, elles resortent avec le mois et le jour inversé si le jour est inférieur à 12. Je crois avoir vu quelque chose sur le forum à ce sujet. Je vais donc essayer de résoudre ce pb par moi_même. Si toutefosi je bloque, je demanderai un nouveau coup de main. En tous cas, Merci pour ce véritable cours.

Cdlt

chaque colonne que tu supprimes, la suivante prend sa référence

utilise une boucle inversé:

for i=10 to 1 step -1

comme ca, les colonnes qui se deplace sont soit vide soit deja verifiée

Merci Zarik, je vais essayer.

Rechercher des sujets similaires à "remplir tableau partir database blancs"