XL 2013 VBA EQUIV sur plusieurs lignes

Leché

XLDnaute Nouveau
Bonjour à tous et à toute,

A défaut d'avoir trouver une solution avec des formules, il me faudrait un petit code magique, afin que :
- chaque référence de la colonne B2 (onglet 1), soit rechercher dans la base de donnée(feuil 1 ; colonne A)
- qu’il en ressorte le numéro de ligne ou la référence est appelée
- et cela à chaque fois que la ref est appelé dans le Bdb.

Si la référence est appelée X fois dans la base de donnée, il faudrait insérer X ligne dans l’onglet 1 avec la ref et le numéro de ligne (qui est automatique avec la formule EQUIV)

Mes essais avec les formules n'ont rien donné, la formule EQUIV ne récupère que la première ligne ou la ref est appelé , mais pas celles d'en dessous.

Merci pour vos futurs retours,

Cordialement,
 

Fichiers joints

JHA

XLDnaute Barbatruc
Bonjour à tous,

A essayer par formule matricielle
VB:
=SIERREUR(SI(C2=0;0;PETITE.VALEUR(SI('Feuil1 (2)'!$A$2:$A$6091=B2;LIGNE('Feuil1 (2)'!$A$2:$A$6091));NB.SI($B$2:$B2;$B2)));"Plus de correspondance")
JHA
 

Fichiers joints

Leché

XLDnaute Nouveau
Bonjour à tous,

A essayer par formule matricielle
VB:
=SIERREUR(SI(C2=0;0;PETITE.VALEUR(SI('Feuil1 (2)'!$A$2:$A$6091=B2;LIGNE('Feuil1 (2)'!$A$2:$A$6091));NB.SI($B$2:$B2;$B2)));"Plus de correspondance")
JHA
Sa me dis qu'il y a d'autre correspondance mais sans ressortir la ligne non ? De plus , chaque référence de la colonne B2 , ne peut être appelé qu'une fois dans ce tableau (suite à une extraction) donc , il faudrait tester chaque référence dans le Bdd et avoir le fameux code pour duplique ligne si plusieurs apparition dans la feuil 1.

Je jette un coup d’œil après déjeuné.

Merci de ton retour
 

Leché

XLDnaute Nouveau
Bonjour,

En faite cela me demande de gérer en plus le tableau des doublons.

A chaque fois que j'ai "plus de correspondance" dans colonne D, je suis obligé d'aller regarder dans le tableau des doublons les autres correspondances et les copier/coller dans ma colonne B et D. Cela ne peut pas être fait automatiquement ?

Sinon le principe est bien là, merci beaucoup

Cordialement,
 

Leché

XLDnaute Nouveau
Un simple renvoi des valeurs de la colonne B me suffit afin de faire le lien avec l'autre onglet. (En cellule G2 je met =B2 et je fais tirer jusqu’à la fin.

Merci pour ta précieuse aide JHA.

Je reste a l'écoute si quelqu'un à un bout de code en VBA

Cordialement,
 

Leché

XLDnaute Nouveau
Bonjour, j'essai de comprendre plus en détail comment marche la formule (pour ma culture personnelle) cependant je comprend pas le "COLONNE (A:A)" , qui pointe sur une colonne sans cellule. (La formule marche, mais je comprend pas le pourquoi du comment)

VB:
=SIERREUR(PETITE.VALEUR(SI('Feuil1 (2)'!$A$2:$A$15000=$G2;LIGNE('Feuil1 (2)'!$A$2:$A$15000));COLONNE(A:A));"nok")
 

JHA

XLDnaute Barbatruc
Bonjour à tous,

Dans la formule proposée, on utilise la fonction PETITE.VALEUR(matrice, k)
La syntaxe de la fonction PETITE.VALEUR contient les arguments suivants :
  • matrice Obligatoire. Représente une matrice ou une plage de données numériques dans laquelle vous recherchez la k-ième plus petite valeur.
  • k Obligatoire. Représente, dans la matrice ou la plage, le rang de la donnée à renvoyer, déterminé à partir de la valeur la plus petite.

Donc il faut définir une plage de données puis le rang (1,2,3,4,etc..). Afin de recopier cette formule vers la droite sans modifier ce critère de rang dans la formule, on utilise une valeur qui varie.
COLONNE(A:A) équivaut à 1
COLONNE(B:B) équivaut à 2
etc..

JHA
 

mutzik

XLDnaute Barbatruc
Bonjour à tous,

pour une solution simple, je souhaiterai connaitre la finalité de cette demande, quel est le but recherché, le calcul éventuel ...
 

Leché

XLDnaute Nouveau
Bonjour,

Je vois pas comment plus détaillé que mon premier message... le but est de recherché le numéro de X lignes dans une Base de donnée , et incrémenter a chaque fois qu'une ligne est trouvé...
 

Créez un compte ou connectez vous pour répondre

Vous devez être membre afin de pouvoir répondre ici

Créer un compte

Créez un compte Excel Downloads. C'est simple!

Connexion

Vous avez déjà un compte? Connectez vous ici.

Haut Bas