Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Ne pas avoir ####

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Clochard

XLDnaute Impliqué
Ne pas avoir #NOMBRE

Bonjour le Forum,

J'arrive pas a trouver ce que je devrais ajouter à la formule suivante pour ne pas obtenir #### s'il n'y a pas de données dans les cellules concernées...

=INDEX($B$249:$B$272;(GRANDE.VALEUR(AL249:AN272;1)-GRANDE.VALEUR(AL249:AN272-LIGNE(INDIRECT("1:"&LIGNES(AL249:AN272)))/(LIGNES(AL249:AN272));1))*(LIGNES(AL249:AN272)))


Merci d'y regarder
Clochard
 
Dernière édition:
Re : Ne pas avoir ####

Bonjour,

Sans fichier, pas facile de comprendre.

Un truc tout simple : élargis ta colonne et dis nous.

Sinon, reviens avec un bout de fichier anonymisé qui présente ton problème.

@+
 
Re : Ne pas avoir ####

Bonjour Tibo

Tu as raison en élargissant ma colonne j'ai réalisé que ce n'était pas ####
mais bien #NOMBRE qui apparaissait...

Malheureusement.... faire un fichier anonyme pour vous le communiquer va me prendre une éternité.... parce que mon fichier est ÉNORME....

Merci
Clochard
 
Re : Ne pas avoir ####

Bonjour Clochard, Tibo,

Quelques lignes peuvent suffire (249 à 272 par exemple, moins les noms...), pour peu qu'avant tu vérifies que le problème reste entier....

A toi la balle

Bon après-midi à toi.

Jean-Pierre
 
Re : Ne pas avoir ####

Bonsoir Clochard, bonsoir à tous,

Il est possible que la fonction "GRANDE.VALEUR" renvoie #NOMBRE lorsque la matrice est vide. Y-a-t-il des données numériques dans la plage utilisée (AL249:AN272)?

@+

Gael
 
Re : Ne pas avoir ####

Salut abcd, Tobo, Gael,jeanpierre et le Forum,

Merci pour ta suggestion abcd...

Ça foncionne s'il n'y a pas de montant dans les cellules AO312:AO330...
Mais aussitôt qu'il y a un montant il s'inscrit #Valeur!

=SI(SOMME(AO$312:AO$330)>0;INDEX($A$312:$A$330;(GRANDE.VALEUR(AO312:AO330;1)-GRANDE.VALEUR(AO312:AO330-LIGNE(INDIRECT("1:"&LIGNES(AO312:AO330)))/(LIGNES(AO312:AO330));1))*(LIGNES(AO312:AO330)));"")


Merci
Clochard
 
Re : Ne pas avoir ####

Bonjour,

as-tu validé cette fonction matricielle par la combinaison de touches :

CTRL + MAJ + ENTREE ?

Et n'hésite pas à nous dire ce que tu attends de cette formule. Ca nous aidera à t'aider.

A te (re)lire

@+
 
Re : Ne pas avoir ####

Salut Gael, Tbo, JeanPierre et le Forum

Oui Tibo j'ai validé ave CTRL + MAJ + ENTREE

Ce que je cherche a trouver.... c'est, s'il n'y a pas de montant dans les cellules AL249:AN272... ne pas avoir #NOMBRE comme retour dans ma cellule qui contient la formule

INDEX($B$249:$B$272;(GRANDE.VALEUR(AL249:AN272;1)-GRANDE.VALEUR(AL249:AN272-LIGNE(INDIRECT("1:"&LIGNES(AL249:AN272)))/(LIGNES(AL249:AN272));1))*(LIGNES(AL249:AN272)))


Merci
Clochard





Merci
Clochard
 
Re : Ne pas avoir ####

re,

Il suffirait à priori de débuter ta formule par :

=SI(NBVAL(AL249:AN272)=0;"";ta_formule)

à valider matriciellement

J'ai tenté de comprendre ce que pouvait faire cette formule.

J'ai l'impression que celle qui suit donne le même résultat :

Code:
=SI(NBVAL(AL249:AN272)=0;"";INDEX(B249:B272;SOMMEPROD((AL249:AN272=
MAX(AL249:AN272))*LIGNE(A249:A272))-248))

Avec validation ordinaire

Mais faute de fichier pour comprendre l'environnement de la formule ...

@+
 
Re : Ne pas avoir ####

re,

en relisant le fil, je vois que la plage contient des formules SOMME.

Donc peut-être remplacer ce que je te proposais par :

=SI(NB.SI(AL249:AN272;">0")=0;"";.....)

@+
 
Re : Ne pas avoir ####

Bonjour Tibo et tous les autres.....

La dernière formule fonctionne bien... mais seulement si au moins une colonne des trois est complète...

Merci pour votre participation... et bonne journée
Clochard
 
Re : Ne pas avoir ####

Bonjour,

à essayer
=SI(NB(AL249:AN272)>0;INDEX($B$1:$B$272;GRANDE.VALEUR(SI(AL249:AN272<>"";LIGNE(AL249:AN272));1));"")

La suite
=SI(NB(AL249:AN272)>1;INDEX($B$1:$B$272;GRANDE.VALEUR(SI(AL249:AN272<>"";LIGNE(AL249:AN272));2));"")

Si tu n'as besoin que de la 1ère grande valeur :
=INDEX($B$1:$B$272;MAX(SI(AL249:AN272<>"";LIGNE(AL249:AN272))))&""
avec B1 vide
 
Dernière édition:
Re : Ne pas avoir ####

Bonjour à tous,

Tibo, J'avais déjà proposé à Clochard une formule avec sommeprod et max dans un autre fil, mais le problème est de gérer les 3 premiers et si l'on met grande.valeur à la place, toujours avec sommeprod, je n'arrive plus à gérer les ex-aequo car Sommeprod totalise les lignes.

Je sais que monique avait géré ce type de problème de façon très astucieuse en ajoutant à chaque cellule 1/1000ème de son n° de ligne + 1/10000ème de son numéro de colonne ce qui différencie automatiquement les doublons sans changer les résultats jusqu'à 2 décimales.

Je n'ai pas retrouvé ce Fil, et les essais (concluants) que j'ai fait aboutissaient à une formule encore plus compliquée que celle de Clochard.

Et comme je n'avais pas d'autre idée, je lui ai suggéré de conserver sa formule initiale.

Quelqu'un a-t-il une autre idée pour améliorer la formule en gérant ces différents cas?

@+

Gael
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
23
Affichages
682
  • Question Question
Microsoft 365 Tableau
Réponses
24
Affichages
2 K
Réponses
7
Affichages
483
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…