RechercheV nécessitant un format appliqué bizarrement

Bonjour,

Je réalise une feuille excel qui recherche des informations concernant des numéros de série et ce pour 3 types de test.

La recherchev de 2 des 3 tests fonctionne parfaitement. Mais une des feuilles (où j'effectue une recherche verticale pour des numéros de série correspondants) dispose des numéros de série précédés de "SN" et la colonne les contenant n'est pas en première position. (Feuille local_testtile)

Pour remédier à cela, j'ai inséré une nouvelle colonne en A avec la formule:

=RIGHT(F2,(LEN(F2)-2)) pour ne disposer que des chiffres.

(cela fonctionne également avec =RIGHT(F2,10) )

Le problème est que la rechercheV retourne seulement un résultat “NA” alors que le numéro de série est bien présent dans cette feuille (local_testtile)

Pour que Excel reconnaisse les numéros de série de la feuille (résultat), il faut que je rajoute une apostrophe devant le numéro de série.

La meilleure solution que j’ai trouvée est de créer une autre colonne A et recopier le contenu de la colonne ex-A (issue de la formule =RIGHT(F2,(LEN(F2)-2)) de la feuille (local_testtile) sur cette nouvelle colonne en effectuant un collage spécial “Valeur”.

Puis sélectionner les numéros de série copiés et via le point d’exclamation me signalant une erreur; convertir les cellules en format numéraire. (Les 0 du devant disparaissent, mais les n° de série que je recherche ne contiennent pas de 0 devant pour l'instant)

Pourriez-vous m’aider en trouvant une formule évitant ce problème de format bizarre.

Ou une formule qui transformerait la colonne des numéros de série en une colonne avec ces n° de série précédés d’une apostrophe. (que je pourrais ajouter à la feuille résultat).

Je pense même à utiliser des macro car les n° de série se retrouvent parfois plusieur fois sur une même feuille.

Merci d’avance.

Je joins une version “lite” de mon fichier excel.

https://www.excel-pratique.com/~files/doc/DqAqLMiTrix_lite_.zip

Bonsoir,

Je suis un peu tardif pour répondre mais enfin sais-t-on jamais

Chiffre ou lettre rechercheV fonctionne !

Le problème vient du fait que vos tables de références sont issues de données numériques enregistrées au format Texte

Donc premier pas avoir les mêmes références interrogation par un nombre... recherchev doit retrouver un nombre recherche par du texte la table doit être avec des nombre au format texte

Maintenant et surtout :

La table de recherche se doit d’être tri" en ordre croissant

En particulier avec les nombres car au dépassement de la valeur rechercheV ne poursuit pas la recherche. Cela inclus aussi que si plusieurs occurrences existent seule la première est renvoyée

Cordialement

Alain

Bonjour

Une première solution

Feuille "Results" Colonne A

Format de cellule: Nombre et aucune décimale

Feuille "LOCAL_TestTile"

Suppression de la colonne A (celle du collage des valeurs)

Nouvelle colonne A

Format des cellules

Personnalisé 0000000000 pour conserver l'affichage des 0

et

Modification de la Formule

=DROITE(F2;(NBCAR(F2)-2))*1

Bien sur, revenir à la feuille "Results" et modifier la formule de RECHERCHEV puisque c'est maintenant dans la colonne 7 que s'effectue la recherche.

=SI(ESTNA(RECHERCHEV(A9;LOCAL_TestTile!$A$2:$H$65536;7;FAUX));"**SN not in TT**";RECHERCHEV(A9;LOCAL_TestTile!$A$2:$H$65536;7;FAUX))

Ceci étant, Alain0654 a parfaitement raison dans son explication. En tout état de cause, tu n'obtiendra que la premiére valeur rencontrée. Cependant, tu peux pour obtenir cette valeur éviter le tri croissant exigé par RECHERCHEV en utilisant d'autres fonctions et par exemple:

=DECALER(LOCAL_TestTile!$A$1;EQUIV(A9;LOCAL_TestTile!$A$2:$A$65536;0);6;;) à laquelle tu rajoutes une condition SI(ESTERREUR au lieu de SI(ESTNA

ou

=INDEX(LOCAL_TestTile!$A$2:$H$65536;EQUIV(A9;LOCAL_TestTile!$A$2:$A$65536;0);7)

Pour le probléme de l'affichage de plusieurs résultats pour la même recherche, il te faudra, soit modifier ton tableau de recherche pour permettre l'affichage de plusieurs cellules de résultats, par une formule imbriquée du style DECALER- INDEX-EQUIV ou passer par une macro et envisager un autre système affichage

Cordialement

Re bonjour

Une seconde solution pour obtenir tous les résultats de la RECHERCHEV dans une seule cellule, sans tri préalable.

Après avoir appliqué les formats comme indiqué dans le message précédent.

Code dans un module:

Function RechercheMultiples(ValeurCherchée As String, MatriceCherche, MatriceTrouve, Optional Seprator As String) As String
Dim c, i As Long
If Separator = "" Then Separator = " /et/ "
For Each c In MatriceCherche
i = i + 1
If ValeurCherchée = c Then
If RechercheMultiples = "" Then
RechercheMultiples = MatriceTrouve(i)
Else
RechercheMultiples = RechercheMultiples & Separator & MatriceTrouve(i)
End If
End If
Next c
End Function

Ensuite, cette fonction est utilisée comme une fonction Excel, mais avec les arguments correspondants :

Dans l'exemple

=RechercheMultiples(A9;LOCAL_TestTile!$A$2:$A$65536;LOCAL_TestTile!$G$2:$G$65536)

La Fonction personnalisée renvoie les résultats multiples de la recherche verticale.

Le séparateur choisi dans le code est "/et/ " . Le résultat est l'affichage des résultats séparés par /et/

=RechercheMultiples(ValeurCherchée;MatriceCherche;MatriceTrouve; "/et/")

Remarque: Les champs de recherche sont particuliérement longs $A$2:$A$65536 ralenti considérablement la fonction qui parcourt tout le champ à chaque réponse. Si le champ ne contient que quelques milliers de valeurs, il serait préférable d'indiquer $A$2:$A$10000...ou 20000 ou...

Fichier exemple joint

https://www.excel-pratique.com/~files/doc/MitrixV2.zip

Cordialement

Rechercher des sujets similaires à "recherchev necessitant format applique bizarrement"