XL 2019 Erreur #N/A mais prérequis a priori OK

YRES

XLDnaute Nouveau
Bonjour,
Je rencontre une erreur #N/A sur quelques lignes seulement de mon fichier Excel, j'ai vérifié le format des colonnes, je me suis assuré de mettre les $ comme il faut, j'ai bien mis "FAUX" comme dernier paramètre.
Je ne comprends pas bien pourquoi l'erreur s'affiche lors que les données existent bien.

Par ailleurs, je ne sais pas comment mais parfois elle se corrige toute seule sans action de ma part (juste la bascule d'une fenêtre à l'autre remplace l'erreur par le libellé.

Avez-vous une idée de ce que je ne fais pas?

Merci.
 

Pièces jointes

  • rechV.xlsx
    398.9 KB · Affichages: 19
Solution
Bonjour YRES, Roblochon,

Sur le fichier du post #1, malgré le format Texte les cellules des colonnes A peuvent contenir des nombres et créer des discordances de valeurs qui entraînent des #N/A.

Sur la 1ère feuille défiltrez la colonne D et entrez en D2 la formule :
Code:
=SIERREUR(RECHERCHEV(--A2;CLADIMED!$A$1:$C$8806;3;FAUX);SIERREUR(RECHERCHEV(""&A2;CLADIMED!$A$1:$C$8806;3;FAUX);""))
à tirer vers le bas, de cette manière il ne peut plus y avoir de discordances texte/nombre.

Sur le fichier joint filtrez la colonne D sur (vides), seules les 2 valeurs 8184933 et 8184939 n'ont pas de correspondance.

A+

Hasco

XLDnaute Barbatruc
Repose en paix
Bonjour,

D'où viennent les données ? De copier/coller ?

Pour certains il suffit de valider le CodeLPP pour les autres (la majorité) , les codeLPP n'éxistent pas dans la base ou la ligne est vide.

Plutôt que rechercheV, j'utiliserai le couple index/equiv avec des tableaux structurés

Evitez les lignes vides dans les tableaux de données.

Cordialement
 

Pièces jointes

  • rechV.xlsx
    401.8 KB · Affichages: 3

YRES

XLDnaute Nouveau
Bonjour,
Qu'entendez-vous par "Valider" pour les codes qui n'existent réellement pas oui c'est normal.
Parce que dans les 3 premières lignes du fichier transmis 2/3 ont l'erreur alors que c'est le même code du coup ça doit être cette notion.


Pour les lignes de données vides, c'est malheureusement pas un choix, le tableau est comme tel et ce sont des données réelles partagées avec d'autres collègues si l'info n'existe pas c'est qu'elle n'existe réellement pas. Mais je note le conseil.

Merci
 

Hasco

XLDnaute Barbatruc
Repose en paix
Qu'entendez-vous par "Valider"
Re,

Simplement sélectionner le codeLPP puis mettre le curseur dans la barre de formule et appuyer sur entrée.

Si vous avez de nombreux cas comme celui-ci, peut-être pourriez-vous utiliser powerquery (inclus dans votre version dans l'onglet 'Données') pour importer correctement ces données.

Si vos données proviennent d'un copier/coller de je ne sais où (web, appli tièrece etc...), alors collez les en texte brut dans excel.

Vous pouvez également utiliser la fonction EPURAGE dans votre fonction originale RechercheV ou avec index/Equiv

=RECHERCHEV(EPURAGE($A2);CLADIMED!$A$1:$C$8806;3;FAUX)

EPURAGE nettoiera les caractères non imprimables contenus dans vos cellule de la colonne A




Cordialement
 
Dernière édition:

job75

XLDnaute Barbatruc
Bonjour YRES, Roblochon,

Sur le fichier du post #1, malgré le format Texte les cellules des colonnes A peuvent contenir des nombres et créer des discordances de valeurs qui entraînent des #N/A.

Sur la 1ère feuille défiltrez la colonne D et entrez en D2 la formule :
Code:
=SIERREUR(RECHERCHEV(--A2;CLADIMED!$A$1:$C$8806;3;FAUX);SIERREUR(RECHERCHEV(""&A2;CLADIMED!$A$1:$C$8806;3;FAUX);""))
à tirer vers le bas, de cette manière il ne peut plus y avoir de discordances texte/nombre.

Sur le fichier joint filtrez la colonne D sur (vides), seules les 2 valeurs 8184933 et 8184939 n'ont pas de correspondance.

A+
 

Pièces jointes

  • rechV (1).xlsx
    424.1 KB · Affichages: 1

Phil69970

XLDnaute Barbatruc
Bonjour Yres , le forum

Remarque:
1)C'est jamais bien bon de laissé des lignes vides en plein milieu d'une feuille (Voir les lignes que j'ai entouré)
1610964296745.png


2)Il faut apprendre comment marche la rechercheV et tu comprendras alors pourquoi tu as #N/A sur 20 lignes de ta feuille
Prenons un exemple :
Ici tu demandes à excel ==> =RECHERCHEV(A2518;CLADIMED!$A$1:$C$8806;3;FAUX)
En clair tu dis à excel :

Recherche moi la valeur qui se trouve dans la cellule A2518 de ma feuille si elle se trouve dans la 3eme colonne de la feuille "Clamed" entre A1 et C88806 et de plus je veux la valeur exacte.

Que fait donc excel il cherche ce que tu lui as demandé à savoir si 8147286 se trouve bien dans la 3eme colonne de la feuille "Clamed" entre A1 et C88806 et la valeur exacte donc 8147286
1610965622708.png


Et il a beau chercher il ne trouve rien car de 8147211 on passe à 8147228 donc il te renvoie #N/A

1610965787776.png


Maintenant tu comprends pourquoi sur 20 lignes tu as des #N/A c'est qu'il n'as pas trouvé ce que tu lui demande tout simplement

3)Tu pourrais mettre tes données en tableau mais c'est quand tu auras revu mon petit 4)

4)Il te manque une bonne révision des bases excel sur le site il y a plein de tuto qui te permettra d'y voir un peu plus clair, je te donne une petite mine d'or si tu es un peu curieux et que tu cherches bien.

@Phil69970
 
Dernière édition:

job75

XLDnaute Barbatruc
Maintenant tu comprends pourquoi sur 20 lignes tu as des #N/A c'est qu'il n'as pas trouvé ce que tu lui demande tout simplement
C'est sûr mais YRES ne comprenait sûrement pas le #N/A en D2518 puisque 8147286 existe dans les 2 feuilles.

J'ai expliqué au post #5 mais si ce n'est pas suffisant : en A2518 on a un nombre alors qu'en colonne A de la 2ème feuille on a des textes.

Et si l'on revalide A2518 le nombre se convertit en texte :cool:
 

YRES

XLDnaute Nouveau
Bonjour Phil69970,
2)Il faut apprendre comment marche la rechercheV et tu comprendras alors pourquoi tu as #N/A sur 20 lignes de ta feuille
Prenons un exemple :
Ici tu demandes à excel ==> =RECHERCHEV(A2518;CLADIMED!$A$1:$C$8806;3;FAUX)
En clair tu dis à excel :

Recherche moi la valeur qui se trouve dans la cellule A2518 de ma feuille si elle se trouve dans la 3eme colonne de la feuille "Clamed" entre A1 et C88806 et de plus je veux la valeur exacte.

Que fait donc excel il cherche ce que tu lui as demandé à savoir si 8147286 se trouve bien dans la 3eme colonne de la feuille "Clamed" entre A1 et C88806 et la valeur exacte donc 8147286


@Phil69970

Quand j'ai lu sur recherchev() j'ai compris que le principe était que je demandais
de chercher dans la première colonne d'une matrice donnée la valeur A2518 (par exemple) et d'en afficher la valeur de la colonne 3.

Je lui demande donc de retrouver la valeur 8147286 (qui existe 58 fois) dans ma matrice CLADIMED et d'afficher le libellé correspondant. Ce qui se fait pour la grande majorité.

Les valeurs qui n'existent pas ce n'est pas comme je disais plus tôt c'est normal le #N/A d'ailleurs ce n'est pas l'objet de ma demande.

Ce sont les valeurs ci dessous qui sont bien présentes dans la matrice qui affichent une erreur que je ne parviens pas à m'expliquer :
1610971578573.png


J'ai vérifié l'égalité (entre la feuille d'export et la matrice) et il ressort VRAI donc il devrait retrouver et pas afficher #N/A
Par ailleurs il le retrouve quand je valide les cellules.

N'existe-t-il pas un moyen de valider en masse plutôt que d'entrer dans chaque cellule et de taper "Entrée"

Merci.
 

YRES

XLDnaute Nouveau
C'est sûr mais YRES ne comprenait sûrement pas le #N/A en D2518 puisque 8147286 existe dans les 2 feuilles.

J'ai expliqué au post #5 mais si ce n'est pas suffisant : en A2518 on a un nombre alors qu'en colonne A de la 2ème feuille on a des textes.

Et si l'on revalide A2518 le nombre se convertit en texte :cool:
C'est exact job75 a compris le problème rencontré.
Par contre moi j'ai le type texte des deux côtés. Et il faut que ce soit du texte puisque c'est un code et non un nombre.
 

Hasco

XLDnaute Barbatruc
Repose en paix
Re,

Sur la base de votre fichier du post #1 :
=RECHERCHEV(GAUCHE(A21;NBCAR(A21));CLADIMED!$A$1:$C$8806;3;FAUX)
Employer une formule qui retournera un texte (ici la fonction GAUCHE).

Si vous avez des références qui commencent par 0 alors il faudra faire différement et tester le type pour chaque ligne. du style, pour une référence de 7 caractères minimum:
=RECHERCHEV(SI(ESTNUM(A2);TEXTE(A2;REPT("0";MIN(7;NBCAR(A2))));A2);CLADIMED!$A$1:$C$8806;3;FAUX)

cordialement
 

Discussions similaires

Réponses
5
Affichages
875

Statistiques des forums

Discussions
315 141
Messages
2 116 704
Membres
112 840
dernier inscrit
CSE VALENTIN