SI ERREUR / SI VIDE avec INDEX et EQUIV

Bonjour tout le monde,

Quand une erreur est résolue une nouvelle apparaît ... Je me tires un peu les cheveux sur ce problème ...

J'ai besoin de réaliser une formule me permettant d'aller chercher sur un autre onglet la valeur d'une colonne (en fonction de s'il retrouve le bon numéro de commande) mais dans l'autre onglet il est possible qu'il n'y est pas de valeur ou que le numéro de commande n'existe pas ce qui fait un jolie "0" sur le premier onglet avec la formule que j'avais au départ sauf que j'aimerais avoir un "Aucune" mais comme vous pouvez vous doutez il n'y a pas qu"un 0 qui peut être affiché mais aussi un N/A si le numéro n'existe pas ...

J'avoue être carrément perdu je ne dois pas voir mon erreur pourtant à mon avis très bête dans ma formule ...

=SI(OU(ESTVIDE(INDEX(Feuil2!A:C;EQUIV(B2;Feuil2!A:B;0)));ESTNA(INDEX(Feuil2!A:C;EQUIV(B2;Feuil2!A:B;0))))=VRAI;"Aucune";INDEX(Feuil2!A:C;EQUIV(B2;Feuil2!A:B;0);2))

Il y a un fichier joint qui vous aidera certainement bien plus que mes paroles

Merci d'avance à vous !

PS : je ne peux pas changer l'ordre des colonnes ni inclure un tableau (ce sont des fichiers qui seront automatisés via VBA avec une extraction fréquente des fichiers "sources") avec donc aussi bien d'autres formules :/

Bonjour,

à tester,

=SIERREUR(SI(INDEX(Feuil2!B:B;EQUIV(B2;Feuil2!A:A;0))=0;"";INDEX(Feuil2!B:B;EQUIV(B2;Feuil2!A:A;0)));"")

Bonjour,

à tester,

=SIERREUR(SI(INDEX(Feuil2!B:B;EQUIV(B2;Feuil2!A:A;0))=0;"";INDEX(Feuil2!B:B;EQUIV(B2;Feuil2!A:A;0)));"")

C'est marrant ça fonctionne bien sur mon fichier mais absolument pas sur celui sur lequel je veux transposer la formule ... Penses-tu que l'erreur puisses venir du fait que la colonne de recherche n'est pas dans le même format ? ...

Merci à toi

Bonjour,

Essaie ainsi (pas testé).

Cdlt.

=SI(OU(ESTVIDE(INDEX(Feuil2!A:B;EQUIV(B2;Feuil2!A:A;0)));
ESTNA(INDEX(Feuil2!A:B;EQUIV(B2;Feuil2!A:A;0))))=VRAI;"Aucune";
INDEX(Feuil2!A:B;EQUIV(B2;Feuil2!A:A;0);2))

C'est marrant ça fonctionne bien sur mon fichier mais absolument pas sur celui sur lequel je veux transposer la formule ... Penses-tu que l'erreur puisses venir du fait que la colonne de recherche n'est pas dans le même format ? ...

oui, les 2 colonnes doivent être au même format, soit numérique ou texte

ou bien adapter la formule

par exemple,

=SIERREUR(SI(INDEX(Feuil2!$B:$B;EQUIV(G2*1;Feuil2!$A:$A;0))=0;"";INDEX(Feuil2!$B:$B;EQUIV(G2*1;Feuil2!$A:$A;0)));"")

Bonjour,

Essaie ainsi (pas testé).

Cdlt.

=SI(OU(ESTVIDE(INDEX(Feuil2!A:B;EQUIV(B2;Feuil2!A:A;0)));
ESTNA(INDEX(Feuil2!A:B;EQUIV(B2;Feuil2!A:A;0))))=VRAI;"Aucune";
INDEX(Feuil2!A:B;EQUIV(B2;Feuil2!A:A;0);2))

Hello,

J'ai quand même des 0 qui apparaissent, et le problème reste sans savoir pourquoi la formule renvoi toujours "Aucune" sur mon fichier de destination U_u je ne comprends absolument pas pourquoi ... j'ai changé les deux colonnes de format pour être en nombre mais rien ne change ... Je suis un peu paumé je dois l'avouer ...

C'est marrant ça fonctionne bien sur mon fichier mais absolument pas sur celui sur lequel je veux transposer la formule ... Penses-tu que l'erreur puisses venir du fait que la colonne de recherche n'est pas dans le même format ? ...

oui, les 2 colonnes doivent être au même format, soit numérique ou texte

ou bien adapter la formule

par exemple,

=SIERREUR(SI(INDEX(Feuil2!$B:$B;EQUIV(G2*1;Feuil2!$A:$A;0))=0;"";INDEX(Feuil2!$B:$B;EQUIV(G2*1;Feuil2!$A:$A;0)));"")

Merci de ta réponse, pourquoi G2*1 ? Je vais continuer à regarder du côté du format mais même en l'ayant changé je n'ai pas réussis à avoir la solution U_u pourtant à part le nombre de colonnes qui changent j'ai exactement le même que le fichier envoyé ça me perturbe ...

pourquoi G2*1 ?

si la valeur cherchée est du texte et la colonne de recherche est numérique

il faut transformer la valeur cherchée en numérique

pour l'inverse,

la valeur cherchée est numérique et la colonne de recherche est du texte

=SIERREUR(SI(INDEX(Feuil2!$B:$B;EQUIV(TEXTE(B2;"0");Feuil2!$A:$A;0))=0;"";INDEX(Feuil2!$B:$B;EQUIV(TEXTE(B2;"0");Feuil2!$A:$A;0)));"")

pourquoi G2*1 ?

si la valeur cherchée est du texte et la colonne de recherche est numérique

il faut transformer la valeur cherchée en numérique

pour l'inverse,

la valeur cherchée est numérique et la colonne de recherche est du texte

=SIERREUR(SI(INDEX(Feuil2!$B:$B;EQUIV(TEXTE(B2;"0");Feuil2!$A:$A;0))=0;"";INDEX(Feuil2!$B:$B;EQUIV(TEXTE(B2;"0");Feuil2!$A:$A;0)));"")

Effectivement comme cela ça fonctionne ... Je suis totalement paumé sur la compréhension de ça quand même car j'avais fait une modification des deux colonnes au format : Nombre mais rien n'avait changé pourtant U_u

Je me souviens qu'il est possible de modifier :

TEXTE(B2;"0")

'Par

B2&""

Avant ça fonctionnait mais j'ai l'impression que pas spécialement ici ... Je vais continuer à explorer cette problématique haha

Encore un énorme merci à vous !

Je suis totalement paumé sur la compréhension de ça quand même car j'avais fait une modification des deux colonnes au format : Nombre

pour remettre des cellules au format numérique, la meilleurs méthode est de copier une cellule "vierge" et de faire un collage spécial "addition" sur les cellules concernées.

Je suis totalement paumé sur la compréhension de ça quand même car j'avais fait une modification des deux colonnes au format : Nombre

pour remettre des cellules au format numérique, la meilleurs méthode est de copier une cellule "vierge" et de faire un collage spécial "addition" sur les cellules concernées.

Encore merci en tout cas ça m'aide bien

Rechercher des sujets similaires à "erreur vide index equiv"