Résultat d'une formule

jeanclaude57

XLDnaute Nouveau
Bonjour

J'ai une formule qui fonctionne trés bien pour associer des catégories à des auteurs mais est-il possible de ne pas afficher #N/A quand il n'y a pas de catégorie associée.Ca me géne pour d'autre opérations?

Je joint un fichier pour la compréhension

Merci
[file name=essai_20050905120039.zip size=2412]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/essai_20050905120039.zip[/file]
 

Pièces jointes

  • essai_20050905120039.zip
    2.4 KB · Affichages: 9

jeanclaude57

XLDnaute Nouveau
J'ai trouvé ,en fait sur mon fichier il va chercher les résultat dans des cellules qui contiennent elles même des formules.

Apparemment c'est pas compatible!.

J'aurais encore une question .

Est-il possible vu la puissance d'Excel d'aller me chercher des nom de fichier photo qui sont dans un dossier est de m'afficher ces nom
dans une colonne?

Et merci encore
 

JeanMarie

XLDnaute Barbatruc
Re...

Je vais essayer de t'expliquer dans mon jargon

Dans la formule, il y a une partie qui retourne les numéros des colonne N à P qui contiennent une valeur, c'est cette partie
Code:
SI(DECALER(produit!$N$1:$P$1;EQUIV(B2;produit!$B$2:$B$5000;0);)>0;COLONNE(produit!N2:P2))

Colonne va renvoyer une valeur de 14 à 16, la colonne N étant la 14ème colonne d'une feuille de calcul, elle est absolue, ce qui n'est pas le cas de la fonction INDEX, qui fait référence à la plage passée en argument.

En utilisant le -13 dans la formule, je réadapte la valeur retournée pour la fonction INDEX.

Si tu ne veux pas utiliser la constante adapte la formule ainsi

Code:
=INDEX(produit!A$2:P$5000;EQUIV(B2;produit!B$2:B$5000;0);PETITE.VALEUR(SI(DECALER(produit!$N$1:$P$1;EQUIV(B2;produit!$B$2:$B$5000;0);)>0;COLONNE(produit!N2:P2));NB.SI(B$1:B1;B2)+1))

Si tu as d'autres questions, n'hésite pas.

@+Jean-Marie
 

jeanclaude57

XLDnaute Nouveau
Je me suis enthousiasmé un peux vite.

Maintenant c'est la colonne ID produit qui n'affiche que le premier ID
soit dans l'exemple' 460' et autant de fois que j'incrémente cette cellule.

C'est un truc de fou.Sur ton fichier c'est ok.La seule chose qui différencie mon fichier c'est le nombre de ligne car les colonnes sont placées au même endroit.
 

jeanclaude57

XLDnaute Nouveau
Une précision Jean Marie

La formule est là.

=INDEX(produit!$B$2:$B$5000;EQUIV(B2;produit!$B$2:$B$5000;0)+(NB.SI(B$1:B2;B2)=NB(DECALER(produit!N$1:p$1;EQUIV(B2;produit!B$2:B$5000;0);)));0)

Les trois premiéres cellule l'id 460 est bien avec ses id catégorie
correspondante.
Dans la 4 et les suivante il y a également l'id 460.

Mais si je tape 461 dans la cellule B5 au lieu de la formule j'ai toute les cellules qui ce transforment en 461 sauf les 460 et j'ai les id catégorie qui s'affichent.

Je sait pas si je suis clair mais bon si ça peut aider
 

jeanclaude57

XLDnaute Nouveau
Bonjour
Le problème vient du fait que je récupére des données dans des cellules qui ont une formule.Si je met que des valeurs ça marche.

Je fait donc l'affichage de mes catégorie et je fait un copier coller des valeurs dans mes champs correspondant au calcul que j'ai demandé.

Par contre il y a encore un petit souci.
Si il la première cases d'une ligne ex.N2 est vides il arrête de calculer.

Si la deuxiéme est vide ex. O2 il ne prend pas en compte la troisiéme.Mais continu à calculer les autres.
 

JeanMarie

XLDnaute Barbatruc
Bonsoir tout le monde

Dans le fichier que j'ai reçu

La Plage Nx:pxxxx était un copier coller des cellules Qx:Sxxxx, les valeurs contenus dans cette plage sont données pas une formule pouvant renvoyées '' ou une valeur

Pour prendre en compte les valeurs de la plage Qx:Sxxxx il faut modifier la formule (colonne C)
Code:
=INDEX(produit!Q$2:S$5000;EQUIV(B2;produit!B$2:B$5000;0);PETITE.VALEUR(SI(ESTNUM(DECALER(produit!$Q$1:$S$1;EQUIV(B2;produit!$B$2:$B$5000;0);));COLONNE(produit!Q2:S2));NB.SI(B$1:B1;B2)+1)-16)

Autre particularité il se peut qu'il n'y ai aucune valeur numérique dans une ligne de la plage Qx:Sxxxx, la formule de la colonne B (à mettre en B2)
Code:
=INDEX(produit!$B$2:$B$5000;PETITE.VALEUR(SI(ESTNUM(produit!Q$2:S$5000);LIGNE(produit!Q$2:Q$5000));LIGNE()-1)-1;0)

J'espère que ces formules te conviendront

@+Jean-Marie
 

Discussions similaires

Statistiques des forums

Discussions
312 970
Messages
2 094 044
Membres
105 926
dernier inscrit
Odyssea