Fonction personnalisée avec MAX et conditions

Djorge84

XLDnaute Nouveau
Bonjour,

je cherche à coder la fonction suivante, qui doit me permettre de calculer une masse en fonction de l'information renseignée concernant le type de données. Selon le cas, la valeur à obtenir est soit celle qui est déjà renseignée dans la cellule G8, soit le max entre 5000 et cette valeur (dans un cas) ou entre 5000 et 2 fois cette valeur (dans les 3 derniers cas).

Code:
Function M_Panier(Type As String) As Double

Dim M_déch As Double

Set M_déchets = Range("G8").Value

If Type = "Opt1" Or Type = "Opt2" Then M_Panier = M_déch
         
ElseIf Type = "Opt3" Then M_Panier = MAX(5000, M)

ElseIf Type = "Opt4" Then M_Panier = MAX(5000, 2 * M_déch
 + 2959)

ElseIf Type = "Opt5" Then M_Panier = MAX(5000, 2 * M_déch
 + 5316)

Else: M_Panier = MAX(5000, 2 * M_déch
 + 7153)

End If

End Function

J'ai donc écris ce bout de code qui ne marche pas car VB me dit que j'ai un problème d'objet au niveau du

Code:
Set M_déchets = Range("G8").Value

sauf que je ne sais pas comment résoudre ça...

Si quelqu'un pouvait me venir en aide, ça serait extra!

Sinon si vous voyez d'autres énormités dans ce bout de code, n'hésitez pas à me le dire...

Merci
 

Djorge84

XLDnaute Nouveau
Re : Fonction personnalisée avec MAX et conditions

Autant pour moi, j'ai fait une erreur quand j'ai posté mon code, le code que j'ai déjà testé et qui ne marche pas et bien celui avec votre proposition bien évidemment.

Donc le problème est toujours posé.

Merci en tout cas de vous intéresser à mon problème
 

Djorge84

XLDnaute Nouveau
Re : Fonction personnalisée avec MAX et conditions

ok j'essaierai de mettre un fichier pour vous éclairer.

Cependant pour ce qui est de la fonction MAX, la syntaxe que vous donnez permet de trouver le max sur une plage de données, il me semble, non?

Or comment coder le fait de vouloir le max entre différentes valeurs, avec certaines d'entre elles attribuées à des variables?
 

Djorge84

XLDnaute Nouveau
Re : Fonction personnalisée avec MAX et conditions

Bonjour,

le hazard fait bien les choses, c'est exactement ce que je voulais! :p
Merci beaucoup pour votre aide!

Je note ce que vous m'avez dit concernant l'utilisation des fonctions Excel avec la syntaxe Application.WorksheetFunction.FONCTION().
 

Discussions similaires

Statistiques des forums

Discussions
312 563
Messages
2 089 683
Membres
104 252
dernier inscrit
dbsromaric