Bon, et bien moi je souligne quand même la volonté de se lancer ^^
Pour la prochaine fois, passe par la "case exemple de script" avant de passer à l'udf
En attendant, pour proposer une fonction dans l'optique d'une udf, faut penser "standard", ie :
* l'utilisateur n'a pas à déclarer des globales avant son appel pour que celà marche. Donc faudra la prochaine fois travailler avec des var "Local", et des passages de paramètres.
* penser à notifier lorsque la fonction c'est bien passer, ou pas, pour ça on a la fonction seterror pour régler la valeur de @error. Par exple on mets souvent à 0 pour le cas OK, puis 1,2,3 ... en fonctions des différetes causes d'erreur. Attention, dans ton cas, le diviseur nul n'est pas géré. ça paraît bête comme ça mais il ne faut jamais fair confience à une input d'un utilisateur
* faire en sorte que la fonction renvoie une varirable de résultat afin que l'utilisateur en fasse ce qu'il veut. Ici tu as choisi de l'afficher, mais généralement on préfère garder le résultat du calcul pour le réutiliser.
Maintenant je compte sur toi pour bluffer tout le monde la prochaine fois
Voici un exple de ton code remanipulé dans cet optique; sans retouche sur l'algorithmique :
► Afficher le texte
Code : Tout sélectionner
$v1=8
$v2=3
$div=_divisionavecreste($v1,$v2)
If Not @error Then MsgBox (1,"",$v1 & "=" & $v2 &"x"&$div[0]&"+"&$div[1])
Func _divisionavecreste ($var1,$var2)
Local $var3,$r,$reste,$resulta[2]
SetError(0)
If $var2 = 0 Then
SetError(1)
Return 0
EndIf
$var3 = Number($var1/$var2)
$r=StringSplit ($var3,".")
$reste = Number($var1-$r[1]*$var2)
$resulta[0]=$r[1]
$resulta[1]=$reste
Return $resulta
EndFunc
Toi qui cherche à mettre le doigt sur la solution, appuie sur F1.