Sorte de Recherche V en VBA

Bonjour,

Pour une base de donnée sur excel,

Je dispose de données sur une colonne A qui sont des raccourcis d'une base de donnée de noms fournisseurs ( colonne C )reliés à des numéros de fournisseurs ( colonne D )

En fichier joint afin que cela soit plus facile à comprendre.

Et j'aimerais savoir si il était possible, de réaliser une sorte de fonction en VBA, qui me semble impossible à réaliser normalement, qui permet de faire une sorte de recherchev sauf qu'au lieu que cela soit une correspondance exacte ou approximative, elle prenne le raccourci et recherche la cellule dans une plage qui contient ce raccourci et qui donne le numéro correspondant dans la plage.

Par exemple

Raccourci de Nom Fournisseur NOM FOURNISSEUR Colonne C Colonne D ( fonction qui recherche AB)

AB ABYOP FA1 => FA1

AC ACYOP FA2 => FA2

AD ADYOP FA3 => FA3

Merci ! Je suis en stage, et je n'ai qu'une petite connaissance dans le VBA

Bonjour, c'est obligatoire en vba ? Parce que sinon en formule c'est possible aussi...

INDEX($F$2:$F$6;EQUIV(A2;GAUCHE($E$2:$E$6;2);0)))

(c'est une formule matricielle donc validation maj + ctrl + entrée)

Bonjour,

Mouais !

Au vu de ton explication, c'est bien la fonction RECHERCHEV qui convient à ta recherche.

=RECHERCHEV("AB";$A$1:$D$4;4;FAUX) renvoie FA1

A+

Bonjour, merci !

Mais j'ai un soucis, je pensais au VBA car les raccourcis sont de longueurs variables, parfois ils correspondent exactement au nom du fournisseur parfois ils ne sont que de 2 caractères ou 3 caractères, alors que le nom du fournisseur contient 5 caractères.

Pour la recherchev avec une correspondance approximative, chez moi ça ne marche pas.

demande2

Bonjour,

Pouvez-vous tester la formule suivante :

=RECHERCHEV(A2&"*";$C$2:$D$4;2;FAUX)

Elle recherche le code lié à la cellule A2.

Ahiii JFL...T'as reussi à faire passé l'étoile dans la recherche...J'y étais pas arrivé! Maintenant je connais la bonne syntaxe &"*"

Merci!

ça n'a pas l'air de fonctionner malheureusement

demande3 demande4

Dans la recherchev il faut mettre FAUX en valeur_proche (vous il est sur vrai)

Pareil malheureusement

demande4

Aie !

Quelle est votre logique d'élaboration des raccourcis ?

Faut-il ne prendre que les deux premiers caractères quelque soit la longueur du raccourci ?

C'est normal que vous ayez un retour d'erreur car vous recherchez ABE alors qu'il n'y en a pas dans la liste des noms complets (il y a ABY mais pas ABE)

Force rouge a écrit :

C'est normal que vous ayez un retour d'erreur car vous recherchez ABE alors qu'il n'y en a pas dans la liste des noms complets (il y a ABY mais pas ABE)

C'est bien là la difficulté de cette problématique !

Nous méconnaissons la logique d'élaboration des codes raccourcis.

JFL a écrit :
Force rouge a écrit :

C'est normal que vous ayez un retour d'erreur car vous recherchez ABE alors qu'il n'y en a pas dans la liste des noms complets (il y a ABY mais pas ABE)

C'est bien là la difficulté de cette problématique !

Nous méconnaissons la logique d'élaboration des codes raccourcis.

J'espère que flodino la connaît !

Bonjour, il faudrait que dans le cas de mon exemple, la fonction puisse rechercher ce qu'il y a dans la cellule A2 dans une autre cellule d'une plage, mais la cellule peut commencer par ce qu'il y a dans A2 ou seulement le contenir.

Je recherche donc une sorte de fonction qui est une sorte de recherchev() mais qui à la place d'une correspondance, soit contient telle cellule.

la solution proposée, recherche dans une plage une cellule qui "commence par"

Maintenant si vous écrivez :

=RECHERCHEV("*"&A2&"*";$C$2:$D$4;2;FAUX)

cela veut dire : recherche dans une plage une cellule "qui contient"

Si ça ne vas toujours pas, peut-être devriez-vous standardiser une règle de création de raccourci...

J'avais essayé mais ça ne marche pas,

est ce que vous pouvez m'en dire plus à propos de la standardisation de règle de création de raccourci ?

Cela se passe par du VBA ?

Non, "une standardisation de règle de création de raccourci" c'est se poser dix minutes et réfléchir à une méthode pour créer vos raccourci. Qu'il y ait une logique exploitable sinon s'il faut faire macro qui enregistre chaque lettre et qui les recherches indépendament dans une plage vous n'aurez jamais aucun résultat probant car des A et des E il y en a dans beaucoup de mot!

D'accord, merci, il n'y a donc pas de fonction du style recherchev qui à la place d'une correspondance recherche si il contient la cellule.

Je vais donc essayer si il n'y a donc pas moyen avec une imbrication de fonctions.

Si il y a, JFL vous l'a donné.

=RECHERCHEV("*"&A2&"*";$C$2:$D$4;2;FAUX)

ceci dit si deux fournisseurs ont le même raccourci cela ne fonctionnera pas, d'ou l'interêt de réfléchir une bonne dizaine de minute sur le moyen d'établir un raccourci fiable

Merci !

Rechercher des sujets similaires à "sorte recherche vba"