[Déplacé .Net --> VBA] afficher le min de plusieurs valeurs, problème de synthax

Signaler
Messages postés
7
Date d'inscription
jeudi 26 février 2009
Statut
Membre
Dernière intervention
31 mars 2010
-
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
-
BONJOUR

Je n'arrive pas à exprimer le min parmis plusieurs valeurs, j'ai un problème de synthaxe.


Public Function Min()
Min(largeurpoteau - 4, 0.9 * hauteurutile)=m
End Function


???????
Le min sera ma variable m que je vais devoir utiliser dasn las suite des calculs.

Merci !!

3 réponses

Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
78
Salut
Pas clair du tout.
Commence par respecter la syntaxe logique :
Si ta fonction doit renvoyer quelque chose, il faut forcemment qu'on voit, à l'intérieur, quelque chose du genre
Min = ...

Ensuite, tu ne peux pas appeler une fonction en l'utilisant elle-même à l'intérieur.
Ta fonction s'appelle MIN et tu appelles une commande, à l'intérieur, qui semble aussi s'appeler MIN !

... un doute m'habite : Serais-tu sous Excel ?
Et essayerais-tu d'utiliser la fonction interne Min de Excel ?

Si tel est le cas, tu ne peux pas appeler une de tes propres fonctions du même nom !
En plus, pour l'appeler, il faut faire référence à
Application.WorksheetFunction.Min(...

Tu veux simplement que ta fonction te renvoie une valeur issue de ton calcul ?
-1- Faire une déclaration propre de la fonction :
Si ta fonction doit renvoyer un chiffre à virgule, simple précision :
Public Function monMin() As Single

-2- Faire en sorte que ta fonction renvoie qqchose :
Public Function monMin() As Single
    monMin = Application.WorksheetFunction.Min(largeurpoteau - 4, 0.9 * hauteurutile)
End Function 

-3- Appeler ta fonction depuis ton code :
m = monMin


Par pitié, la prochaine fois :
- Choisis la bonne catégorie : ça influence beaucoup les réponses et évite de perdre du temps (et des nerfs)
- Soit plus précis dans tes explications. Là, ça va que je suis champion du monde de boule cristal 2005-2006, parce que sinon, impossible de déméler l'écheveau !

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Messages postés
7
Date d'inscription
jeudi 26 février 2009
Statut
Membre
Dernière intervention
31 mars 2010

Salut,

Tes explications sont très claires et très bien exposées, merci pour cette réponse.
je suis très touchée qu'une personne aussi confirmée que toi ait pris la peine de me répondre.D'autant que le statut de débutant n'est pas toujours facile à assumer...

Tu as bien cerné mon problème en dépit du fait que mon message n'était pas clair du tout.Par contre, je suis désolé mais je ne comprends pas en quoi je me suis trompée de catégorie, "Divers/débutant" bien que j'aurai du préciser que je travaillais sur excel.

J'avoue que je me suis très mal exprimée...Cela ne fait que 15 jours que je suis sur VB,et ce n'est pas évident. Je dois améliorer une feuille de calcul excel en intégrant du VB pour faciliter la lisibilité et la mise en place des équations.En fait je suis étudiante en génie civil et actuellement en stage de fin d'étude sauf que mon tuteur n'est jamais là ou bien trop débordé.


Anna.
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
78
Ok Anna et merci pour ces compliments.
Pour la catégorie, regarde celle que j'ai remplacée : Il est important de bien le préciser car certaines solutions ne fonctionnent pas / ou ne fonctionnent qu'avec / un type de VB.
Dans ton cas, le VB de Excel est du VBA.

Bonne continuation.