Mini d'une colonne 0 exclu

Signaler
Messages postés
127
Date d'inscription
mercredi 16 avril 2008
Statut
Membre
Dernière intervention
8 juillet 2008
-
Messages postés
1835
Date d'inscription
vendredi 13 mai 2005
Statut
Membre
Dernière intervention
20 novembre 2013
-
Bonjour,

J'ai  cela :
Worksheets("feuil1").Cells(24, 13).Value = Application.WorksheetFunction.Min(Range("PLAGE"))

J'obtient donc le mini de cette plage (qui est une colonne) mais je voudrais exclure les valeurs vide et 0.
Si possible   sans avoir recours a une autre fonction...

Merci de votre aide

5 réponses

Messages postés
159
Date d'inscription
lundi 18 février 2008
Statut
Membre
Dernière intervention
8 janvier 2010
2
Met un filtre sur ta colonne

1- Dans le menu / Données / Filtrer / Filtre élaboré

Bonne prog
Supra3000
Messages postés
1835
Date d'inscription
vendredi 13 mai 2005
Statut
Membre
Dernière intervention
20 novembre 2013
10
Salut,

2 methodes :

pour une meilleur comprehension je te le montre sans variable et suppose que ta recherche ce fait sur une plage de cellules de la colonne A

' cette methode ecrit le resultat dans la cellule specifié
Worksheets("feuil1").Cells(24, 13).Value = Evaluate("=MIN(IF(A1:A50>0,A1:A50))"

' cette methode ecrit une formuleMATRICIELdans la cellule specifié
Worksheets("feuil1").Cells(24, 13).FormulaArray = "=MIN(IF(A1:A50>0,A1:A50))"

Maintenant avec une variable de type String :

Dim Plage As String
Plage = "A1:A50"
Worksheets("feuil1").Cells(24, 13).Value = Evaluate("=MIN(IF(" & Plage & ">0," & Plage & "))"

avec une variable de type Range :

Dim Plage As Range
Set Plage =
Worksheets("feuil1").Range("A1:A50")

Worksheets("feuil1").Cells(24, 13).Value = Evaluate("=MIN(IF(" & Plage.Address & ">0," & Plage.Address & "))"

Peut etre le sais-tu deja mais au cas ou, si tu veux ecrire une formule matriciel directement dans ta cellule tu dois valider en maintenant appuyer Ctrl+Shift+Enter

A+
Messages postés
127
Date d'inscription
mercredi 16 avril 2008
Statut
Membre
Dernière intervention
8 juillet 2008

Bonjour a vous deux,
Merci de vos réponse mais aucune ne marche. J'ai tout essayer avec la méthode de bigfish mais ca ne va pas...
Messages postés
127
Date d'inscription
mercredi 16 avril 2008
Statut
Membre
Dernière intervention
8 juillet 2008

Le probleme en plus c'est que dans ma colonne j'ai des cases vide donc je crois qu'il les prend en compte et je ne voudrais pas qu'il le fasse ...
Messages postés
1835
Date d'inscription
vendredi 13 mai 2005
Statut
Membre
Dernière intervention
20 novembre 2013
10
...

La fonction min ce moque des cellules blanches, donc ce n'est certainement pas ça !

ça ne marche pas... je ne vois pas comment on vas pouvoir t'aider avec une telle reponse ?

Je sais que tu es un specialiste des poste marathon... faudrait peut etre y mettre un peu du tien...

Ce que je t'ai donné fonctionne et la ligne suivante certainement plus que le reste :
Worksheets("feuil1").Cells(24, 13).Value = Evaluate("=MIN(IF(A1:A50>0,A1:A50))"
mais pour ça il faudrait remplacer A1:A50 par la plage de cellule qui t'interresse !
Si tu as excel en version française tu devrais aussi essayer de franciser la chose mais vu qu'il faut te macher le boulot voila la version francisée :
Worksheets("feuil1").Cells(24, 13).Value = Evaluate("=MIN( Si (A1:A50>0;A1:A50))"
Regarde les parties rouge... gros boulot n'est-ce pas ?
Autre solution :
dans une cellule excel tu ecris (en remplacent  A1:A50 Par ta plage de cellule evidemment)
=MIN(Si(A1:A50>0;A1:A50)) et tu valide en maintenant appuyer Ctrl+Shift+Enter (deja expliqué plus haut)

Clairement, tu nous donne toute les infos dont on a besoin pour t'aider dans ta prochaine reponse, c'est a dire :
le resultat obtenu le/les message(s) d'erreur(s), la plage sur la qu'elle tu fais la recherche de valeur mini, t'a version d'excel, et le bout de code que tu as ecrit meme si il reprend exactement ce que je t'ai donné. Pour ce dernier point je veux un copier coller.
Si cela ne marche toujours et qu'il n'y pas tout ça je ne repondrait !

A+