Minimum sans les zéros
Résolu
luc_duf
Messages postés
83
Statut
Membre
-
luc_duf Messages postés 83 Statut Membre -
luc_duf Messages postés 83 Statut Membre -
Bonjour, j'ai besoin dans un classeur de déterminer automatiquement le minimum d'une plage sans inclure les zéros de cette plage (qui ne resteront pas zéro indéfiniment). J'ai essayé plusieurs formules trouvées sur les forum mais aucune ne fonctionne. J'ai essayé :
=MIN(SI(MOYHUM>0;MOYHUM))
=PETITE.VALEUR(MOYHUM;NB.SI(MOYHUM;0)+1)
Ca me donne une erreur #VALEUR.
MOYHUM est le nom de ma plage D12;D30;D42;D51;D66;D90;D102;D112;D118;D129;D138;D150;D162;D170;D188;D203;D211
Je vous remercie d'avance pour l'aide que vous m'apporterez.
luc_duf
=MIN(SI(MOYHUM>0;MOYHUM))
=PETITE.VALEUR(MOYHUM;NB.SI(MOYHUM;0)+1)
Ca me donne une erreur #VALEUR.
MOYHUM est le nom de ma plage D12;D30;D42;D51;D66;D90;D102;D112;D118;D129;D138;D150;D162;D170;D188;D203;D211
Je vous remercie d'avance pour l'aide que vous m'apporterez.
luc_duf
A voir également:
- Excel minimum sauf 0
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Numéro de téléphone excel 0 - Guide
- Déplacer colonne excel - Guide
- Si ou excel - Guide
8 réponses
Salut,
tu peux essayer ça :
=MIN(SI(MOYHUM>0;SI(MOYHUM<>"";MOYHUM)))
à valider avec Ctrl+Maj+Entrée (formule matricielle)
Cordialement
tu peux essayer ça :
=MIN(SI(MOYHUM>0;SI(MOYHUM<>"";MOYHUM)))
à valider avec Ctrl+Maj+Entrée (formule matricielle)
Cordialement
Merci pour la rapidité de la réponse.
Mais j'ai toujours la même réponse #VALEUR!
J'ai 7 zéros pour le moment sur la plage.
Mais j'ai toujours la même réponse #VALEUR!
J'ai 7 zéros pour le moment sur la plage.
Tu as bien validé avec Ctrl-Maj-Entrée ?
j'ai fais un test ça marche pour moi..
transmet moi ton fichier je verrai peut-être mieux
j'ai fais un test ça marche pour moi..
transmet moi ton fichier je verrai peut-être mieux
Oui oui, j'ai bien validé avec cmd-maj-entrée. (je suis sur mac, et ça met les accolades)
Je ne vois pas où est le soucis.
Je t'ai envoyé le fichier
Merci
Je ne vois pas où est le soucis.
Je t'ai envoyé le fichier
Merci
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Désolée :/
d'après l'aide, on dirait que ça vient de là :
" L'entrée d'une référence de cellule, d'une formule ou d'une fonction en tant que constante matricielle
Vérifiez que la constante matricielle n'est pas une référence de cellule, une formule ou une fonction."
Mais je vois pas le problème... j'suis pas une pro non plus faut dire :/
En espérant que ça aura au moins lancé la conversation et que les experts vont arriver en sauveur !
Bon courage (si j'ai une illumination je reviendrai bien sûr)
d'après l'aide, on dirait que ça vient de là :
" L'entrée d'une référence de cellule, d'une formule ou d'une fonction en tant que constante matricielle
Vérifiez que la constante matricielle n'est pas une référence de cellule, une formule ou une fonction."
Mais je vois pas le problème... j'suis pas une pro non plus faut dire :/
En espérant que ça aura au moins lancé la conversation et que les experts vont arriver en sauveur !
Bon courage (si j'ai une illumination je reviendrai bien sûr)
Cela viendrait-il du fait que les cellules de ma plage contiennent une formule de moyenne ?
J'espérait trouver une réponse simple pour m'éviter le code VBA.
Merci de ton aide tout de même !
J'espérait trouver une réponse simple pour m'éviter le code VBA.
Merci de ton aide tout de même !
Bonjour,
Il semblerait qu'avec une plage nommée ce ne soit pas possible, j'ai donc repris toutes les cellules de la plage.
Essaies cette formule matricielle (un peu longue ...) :
A valider par Maj+Ctrl+Entrée
Il semblerait qu'avec une plage nommée ce ne soit pas possible, j'ai donc repris toutes les cellules de la plage.
Essaies cette formule matricielle (un peu longue ...) :
=MIN(SI(CHOISIR(LIGNE(1:17);$D$12;$D$30;$D$42;$D$51;$D$66;$D$90;$D$102;$D$112;$D$118;$D$129;$D$138;$D$150;$D$162;$D$170;$D$188;$D$203;$D$211)>0;CHOISIR(LIGNE(1:17);$D$12;$D$30;$D$42;$D$51;$D$66;$D$90;$D$102;$D$112;$D$118;$D$129;$D$138;$D$150;$D$162;$D$170;$D$188;$D$203;$D$211);MAX($D$12;$D$30;$D$42;$D$51;$D$66;$D$90;$D$102;$D$112;$D$118;$D$129;$D$138;$D$150;$D$162;$D$170;$D$188;$D$203;$D$211)))
A valider par Maj+Ctrl+Entrée
Avec la même méthode, on peut aussi créer une fonction VBA personnalisée à mettre dans un module normal :
et dans la cellule Excel :
=min2(MOYHUM)
Patrice
Function min2(plage As Range) As Double
Dim c As Range
min2 = Application.WorksheetFunction.Max(plage)
For Each c In plage.Cells
If IsNumeric(c.Value) Then
If c.Value < min2 And c.Value > 0 Then min2 = c.Value
End If
Next c
End Function
et dans la cellule Excel :
=min2(MOYHUM)
Patrice
Je viens de voir vos messages un peu trop tard. Je n'avais plus de connexion internet, et je me suis cassé la tête à taper une longue formule avec les petite.valeur. Et ça marche.
Je mets ma formule si jamais quelqu'un rencontre ce problème également.
Merci à tous pour votre aide.
Formule : =SI(PETITE.VALEUR(MOYHUM;1)>0;PETITE.VALEUR(MOYHUM;1);SI(PETITE.VALEUR(MOYHUM;2)>0;PETITE.VALEUR(MOYHUM;2);SI(PETITE.VALEUR(MOYHUM;3)>0;PETITE.VALEUR(MOYHUM;3);SI(PETITE.VALEUR(MOYHUM;4)>0;PETITE.VALEUR(MOYHUM;4);SI(PETITE.VALEUR(MOYHUM;5)>0;PETITE.VALEUR(MOYHUM;5);SI(PETITE.VALEUR(MOYHUM;6)>0;PETITE.VALEUR(MOYHUM;6);SI(PETITE.VALEUR(MOYHUM;7)>0;PETITE.VALEUR(MOYHUM;7);PETITE.VALEUR(MOYHUM;8))))))))
Je me suis arrêté à 7 car je n'aurai jamais plus de 7 valeurs nulles sur ma plage. Sinon il faut continuer. Et si c'est une plage beaucoup plus importante, avec énormément de 0, mieux vaut ne pas tenter cette formule ;)
luc_duf
Je mets ma formule si jamais quelqu'un rencontre ce problème également.
Merci à tous pour votre aide.
Formule : =SI(PETITE.VALEUR(MOYHUM;1)>0;PETITE.VALEUR(MOYHUM;1);SI(PETITE.VALEUR(MOYHUM;2)>0;PETITE.VALEUR(MOYHUM;2);SI(PETITE.VALEUR(MOYHUM;3)>0;PETITE.VALEUR(MOYHUM;3);SI(PETITE.VALEUR(MOYHUM;4)>0;PETITE.VALEUR(MOYHUM;4);SI(PETITE.VALEUR(MOYHUM;5)>0;PETITE.VALEUR(MOYHUM;5);SI(PETITE.VALEUR(MOYHUM;6)>0;PETITE.VALEUR(MOYHUM;6);SI(PETITE.VALEUR(MOYHUM;7)>0;PETITE.VALEUR(MOYHUM;7);PETITE.VALEUR(MOYHUM;8))))))))
Je me suis arrêté à 7 car je n'aurai jamais plus de 7 valeurs nulles sur ma plage. Sinon il faut continuer. Et si c'est une plage beaucoup plus importante, avec énormément de 0, mieux vaut ne pas tenter cette formule ;)
luc_duf