Fonction rechercheV

Bonjour à toutes et à tous,

J'ai créé un tableau qui permet d'associer à chaque employé, le matériel qui lui a été confié. Pour éviter d'ajouter à chaque fois manuellement le numéro de série (ou encore la date d'achat) j'ai utilisé la fonction RechercheV(). Elle fonctionne plutôt mais malheureusement, lorsque je fais un glisser pour que toutes les cases de la colonne aient cette formule...un #N/A apparaît au niveau du numéro de série lorsqu'il n'y a pas le matériel en question. Je n'ai pas testé pour la date, mais j'imagine que ça va être identique.

Avez-vous une solution?

Cordialement,

Smirnoff1986

Bonjour,

Qu'aimerais-tu voir apparaître à la place de ce #N/A ?

Personnellement je voulais que ça n'apparaisse pas, j'ai donc trié de sorte à regrouper tous les #N/A en question et j'ai mis la police en blanc.

J'avais effectué quelques recherches mais je n'avais pas réussi aussi à les faire apparaître automatiquement en blanc ou tout simplement à ne pas les faire apparaître.

Après peut être que quelqu'un pourra mieux t'aider ici.

Bonne journée en espérant t'avoir aidé.

Je voudrais en effet que rien n'apparaisse, que la case reste vide.

Mettre la police en blanc m'embête beaucoup vu que tout est évolutif, un jour ou l'autre la personne en question aura bien un équipement et donc il faudra bien qu'un numéro de série apparaisse également.

Bonjour à toi,

quelle solution recherche tu ?

la recherche verticale retourne une erreur quand la valeur n'est pas présente.

Mais il est possible de choisir la valeur en cas d’erreur avec un sierreur.

plus clair dans l'exemple que je joins.

edit 1: entre temps, ça avait bouger, je m'en excuse ^^

Pour que rien ne s'affiche,

=SIERREUR(RECHERCHEV(E2;A1:B18;2;FAUX);"")
5recherchev.xlsx (9.15 Ko)

En appliquant cette solution à mon cas Guitrouille, j'obtiens #NOM?

sans ton fichier, dur dur d'adapter la formule,

essai de mettre ta fonction rechercheV dans le sierreur de ta formule

=sierreur(ta_fonction_recherchev;"")

ps: la formule que j'avais donné précédemment était adapté au fichier que j'avais joins.

Je vous envoie mon fichier

Par contre autre problème, impossible d'insérer automatiquement la date d'achat correspondant à l'appareil...

J'avais en effet adapté, voilà ma formule :

=SIERREUR(RECHERCHEV("Dupp B "&$A$2;Catalogue!$E$6:$AG$367;13;FAUX);"") qui me renvoie #N/A sans le SIERREUR et qui me renvoie #NOM? avec la formule ci-dessus...

Encore moi,

j'arrive à faire fonctionner le sierreur au cas par cas, un seul bémol : les cellules fusionnées qui mettent la pagaille, impossible de faire dérouler la formule.

Je fuis les cellules fusionnées comme la peste, du coup ne les ayant jamais manipulé, je ne sais pas comment les gérer, en espérant que quelqu'un puisse t'aider ^^

edit 1: j'ai appliqué les formules jusqu'à la ligne 33, ça aura au moins le mérite d'illustrer mes propos ^^

Mille merci

Franchement j'ai été à deux doigts de gueuler un "it's alive" ou bien un "yeeeeeeeeeees". Mais je doute que mon patron aurait compris clairement la raison de ma joie xD

Enfin breeef, merci encore. Et puis bon pour les cellules fusionnées, je n'avais malheureusement pas le choix vu que des petits malins aiment avoir deux équipements du même type parfois avec deux ^^


Ah en fait j'ai dû parler trop tôt

Ce qui est étrange c'est que j'arrive à compléter la 1ère cellule fusionnée mais lorsque j'arrive à la 2ème (au niveau 37-38) ça ne fonctionne plus. Il n'y a plus qu'une case vide.

Oui, les cellules fusionnées mettent la pagaille ^^

Sinon, je peux essayer une solution en VBA, j'édit quand j'ai quelque-chose.

Edit 1 : J'ai bricolé une macro, le bouton de commande est sur la première page, il y a aussi la possibilité de faire fonctionner le code à l'ouverture du fichier, à chaque changement de sélection, au changement de feuille etc etc...

6ref.xlsm (57.63 Ko)

Merci c'est vraiment gentil

Mais par contre je trouve que le vba c'est un peu trop complexe.

En fait en défusionnant les cellules le temps du calcul puis de refusionner tout ça, normalement ça devrait fonctionner.

Par contre je ne comprends pas du tout cette partie là du calcul :

(C26;'Listes déroulante'!A5:AW40;3,FAUX);"");"")

Je n'arrive pas du tout à utiliser la formule pour remplir d'autres cases. Pour le coup j'essaye de bien comprendre histoire d'éviter de demander trop d'aide.

Alors, pour bien comprendre il vaut mieux mettre la ligne en entier ^^

=SI(C26<>"";SIERREUR(RECHERCHEV(C26;'Listes déroulantes'!A5:AW40;3;FAUX);"");"")

voici l'idée derrière formule :

- On utilise un Si pour tester si la cellule est vide ou non

avec la syntaxe suivante

Si( Test_de_la_cellule ; valeur renvoyée si la réponse du test est "vrai" ; valeur renvoyée si "faux")

- Test_de_la_cellule : la cellule C26 est-elle différente de "" (cellule vide)

C26 <> ""

- Si la cellule est non vide (réponse du test = vrai ), alors on réalise le deuxième argument du si ("valeur renvoyée si Vrai") à savoir

SIERREUR(RECHERCHEV(C26;'Listes déroulantes'!A5:AW40;3;FAUX);"")

Il s'agit de la recherche verticale de la valeur de la cellule C26, que l'on cherche dans la table A5:AW40 appartenant à la feuille "Liste déroulantes" , la fonction renvoi la valeur sur la même ligne mais à la 3ème colonne (qui correspondant à la date d'achat sur la feuille).

RECHERCHEV(C26;'Listes déroulantes'!A5:AW40;3;FAUX)

Si la valeur n'est pas trouvé, la fonction rechercheV retourne une erreur, c'est pourquoi le rechercheV est à l'intérieur d'un SIERREUR

SIERREUR ( valeur ; valeur si erreur )

=> si la valeur n'est pas trouvé, la valeur de la cellule est alors (ici reste) égale à ""

Ah je comprends mieux maintenant

Je réussis à mettre faire apparaître les dates sauf pour l'explo 6, 8 et 4. Encore un mystère ^^

Car il faut que tu fasse commencer la table (où tu recherche) à la ligne ou les données commencent, C-A-D à la ligne 2 et pas à la ligne 5

=SI(C26<>"";SIERREUR(RECHERCHEV(C26;'Listes déroulantes'!A5:AW40;3;FAUX);"");"")

En remplaçant A5 par A2

=SI(C26<>"";SIERREUR(RECHERCHEV(C26;'Listes déroulantes'!A2:AW40;3;FAUX);"");"")

Hum...je me suis écrit "boulet" sur mon front pour la peine ^^


Et sinon une dernière solution pour éviter le changement de "A2:AW40;2;FAUX) quand on fait glisser la formule? ^^

Pour éviter que les lignes / colonnes s'incrémentent, il suffit de placer un $ devant.

$A$2:$AW$40

edit : ici le $ devant l'étiquette de colonne est inutile puisque la propagation de la formule se fait verticalement ^^

Mais oui c'est vrai, je l'avais oublié ce truc-là...

Hé bien merci encore, tu viens de me retirer une sacrée épine du pied

Je vais attention à ce qu'elle reste fonctionne aussi en tenant compte de ce que tu as dit

Rechercher des sujets similaires à "fonction recherchev"