qui me donne 1(constante) pour un nombre égale à 20 personne.
Private Function mult_20(nb As Double) As Variant If nb Mod 20 <> 0 Then est_mult_20 = False: Exit Function mult_20 = nb \ 20 End Function
Dim toto As Double toto = 41 MsgBox mult_20(toto) ' ===>> retournera une chaîne "" toto = 40 MsgBox mult_20(toto) ' ===>> retournera 2
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionFunction M20(V) M20 = IIf(V Mod 20, 0, V \ 20) End Function
Tout comme ta fonction qui est aussi de type variant, "" = 0 …
Private Type nbmult multiple As Boolean multiplicateur As Long End Type Private Sub CommandButton1_Click() Dim toto As Double MsgBox "voyons le cas ou le paramètre = 0" toto = 0 If mult_20(toto).multiple = True Then MsgBox mult_20(toto).multiplicateur Else MsgBox mult_20(toto).multiple End If MsgBox "voyons le cas ou le paramètre = 41" toto = 41 If mult_20(toto).multiple = True Then MsgBox mult_20(toto).multiplicateur Else MsgBox mult_20(toto).multiple End If MsgBox "voyons le cas ou le paramètre = 60" toto = 60 If mult_20(toto).multiple = True Then MsgBox mult_20(toto).multiplicateur Else MsgBox mult_20(toto).multiple End If End Sub Private Function mult_20(nb As Double) As nbmult If nb Mod 20 <> 0 Then mult_20.multiple = False: Exit Function Else mult_20.multiple = True mult_20.multiplicateur = nb \ 20 End If End Function