XL 2019 Recherche horizontale avec VBA

Amilo

XLDnaute Accro
Bonjour à tous,

Je dois faire une recherche entre 2 onglets et présenter le résultat horizontalement avec en titre de colonnes le libellé correspondant (voir fichier).

Pour information, malgré un gros nettoyage, j’ai un fichier d’origine très lourd (4000 ko en xslx et 1500 ko en xlsb).
Pourtant, les quantités de données dans le classeur ne justifient pas d’après moi, une taille aussi élevée (respectivement 9000 lignes et 15 000 lignes env. avec une dizaine de colonnes pour chacun des 2 onglets).

Après tentative avec Power Query et Power Pivot d'une recherche horizontale, j’ai le fichier qui bloque soit :
- sur un message « Mémoire Insuffisante… »,
- met un temps extrêmement long et j’arrête la requête au bout de 20 min (pourtant une petite requête de 3 ou 4 étapes avec Power query)

Inutile donc que j’essaye avec une formule mais j’aimerais tester avec VBA

Pouvez-vous svp m’aider pour un essai VBA.

Le résultat souhaité se trouve dans le 1er l’onglet « Inv Site » en colonne F:I
La recherche se fait selon les données du 2ème onglet.

Merci d’avance pour votre aide

Cordialement
 

Pièces jointes

  • Invent.xlsx
    10 KB · Affichages: 20
Dernière édition:

mapomme

XLDnaute Barbatruc
Supporter XLD
Re,

Je m'y perds un peu. Une fois le tableau est en N3 (fichier), une fois en Z3 (message # 12), une autre fois en C3 (message #13) o_O.

Oubliez le fichier v1 dans lequel j'avais oublié quelques point "." devant des range...:(

Voir le code du fichier joint v1a qui place le résultat en N3 (colonne des références).
 

Pièces jointes

  • Amilo-Invent- v1a.xlsm
    22.6 KB · Affichages: 7

Amilo

XLDnaute Accro
Merci @mapomme,
Je réponds de mon téléphone et je n'ai pas la possibilité de vérifier le dernier fichier, je regarderai demain,
Sinon, je n'aurais pas dû mettre cet exemple car effectivement ça embrouille un peu, désolé. Si j'ai mis à cet endroit en N3, je me suis dit que le tableau n'aurait pas été visible à l'ouverture en Z3

Bonne nuit et à demain
 
Dernière édition:

Amilo

XLDnaute Accro
Bonjour @Dranreb , @mapomme , le forum,

Pourquoi aurez vous du mal avec la colonne "N° Série" ?
Ma dernière version élimine les numéros sur les Statuts sans doublon. Ce n'est pas possible dans un tableau Excel d'avoir des titres de colonnes en double.

@Dranreb , j'avais posté quelques remarques ou questions que je qualifie d'inattention et je comprends pourquoi vous m'aviez répondu à juste titre avec questionnement.

J'ai parfaitement compris que le tableau dynamique que vous avez placé est en faite un tableau structuré prêt à recueillir le résultat final. Il n'est effectivement pas possible d'avoir les même noms en titres.
Et que à ma remarque ci-dessous :
Par contre, j'aurais du mal pour ajouter la colonne "N° Série" évoquée dans mon précédent message
en fait la colonne "N° Série" figurait déjà dans votre résultat et désolé pour cette "maladresse".

Par contre, j'ai mis un autre fichier avec l'emplacement exact du tableau final et avec davantage d'explications.
Même si l'emplacement devait changer un jour, je saurais normalement comment adapter vos 2 versions (celle à @mapomme et la vôtre).

Cependant, j'aurais svp une modification à vous demander : sauf erreur de ma part, @mapomme ,@Dranreb , vos 2 fichiers intègrent tous les éléments de la colonne B de la feuille "Inv Autre"
Je ne souhaite pas récupérer les lignes en jaune car celles-ci ne figurent pas dans la liste "Inv Site"

En vous remerciant par avance

Bonne nuit
 

Pièces jointes

  • Invent_V2.xlsm
    12.3 KB · Affichages: 8
Dernière édition:

Dranreb

XLDnaute Barbatruc
Vous ne pourriez pas mettre une colonne supplémentaire dans la feuille "Inv Autre" indiquant s'il doit être pris ou non ? Parce que les couleurs ça ne fait pas bon ménage avec la performance du code. Maintenant si vous y tenez, avec un module de service supplémentaire, je pourrait ne sortir que les numéros déjà présents dans la "Inv Site", s'ils figurent aussi dans la "Inv Autre". Ou préfèreriez vous aussi garder les anciens qui auraient disparu ? Mais s'il en vient de nouveaux, il ne faudra pas oublier de les ajouter manuellemnt un coup sous le tableau. Dommage de ne pas préserver l'inventaire automatique …
 

Amilo

XLDnaute Accro
@Dranreb , merci pour votre réponse,
J'ai mis en couleur les éléments à titre indicatif
Il n'y a aucune couleur en réalité
Effectivement, je souhaite uniquement les numéros présents dans "Inv Site"

Je vous avoue ne pas trop connaître le fichier de mon collègue et la finalité de son travail.
En tout cas, il n'est pas nécessaire d'ajouter ou de garder tout autre numéros manquant

Edit : en me relisant dans le précédent poste, j'ai précisé pourquoi je ne souhaitais pas avoir les lignes en jaunes. Effectivement, comme écrit initialement, cela portait à confusion, en pensant vouloir dire que le résultat devait considérer les cellules selon sa couleur.

Merci d'avance
 
Dernière édition:

mapomme

XLDnaute Barbatruc
Supporter XLD
Re,

Donc si je comprends bien :
La feuille "Inv Site" contient une liste de références en colonne C.
On ne fait le tableau résultat que pour les références de "Inv Autre" qui sont présentes dans la colonne C de la feuille "Inv Site" ?

Il est tard, bonnet de nuit.
 

Amilo

XLDnaute Accro
Bonne question,.
Il me semble que cette hypothèse n'est pas possible, sinon je dirais qu'on peut garder le numéro sans données en face

Bonsoir mapomme, oups je m'adressais à Dranreb plus haut :)
Concernant votre question, oui on ne garde que le éléments pour la liste des numéros de la feuille "Inv Site"

Merci d'avance

Bonne nuit à vous
 
Dernière édition:

Dranreb

XLDnaute Barbatruc
Non, ben je ne sais pas trop quoi faire et ça ne me branche pas de le faire.
J'ai l'impression d'être parti dans une mauvaise direction.
C'était simple s'il fallait tout prendre mais là, non. Pas comme ça en tout cas.
 

Amilo

XLDnaute Accro
Bonjour @mapomme , @Dranreb , le forum,

J'indiquais dans mon 1er message que la solution que j'avais testée avec Power query mettait énormément de temps pour ne pas dire que la requête bloquait

J'ai utilisé une autre méthode Power query et le résultat est quasi instantané sur le fichier réel (moins de 5 sec)

Je pense que je ne peux pas avoir meilleur résultat.

Je vais essayer de comprendre pourquoi mon 1er code PQ, pourtant simple, ne fonctionnait pas.

Merci à vous pour votre patience

Bonne journée
 
Dernière édition:

Statistiques des forums

Discussions
312 197
Messages
2 086 104
Membres
103 118
dernier inscrit
mlaf4032