Soyez le premier à donner votre avis sur cette source.
Snippet vu 7 440 fois - Téléchargée 35 fois
Public Function LancerLeDé(ParamArray Probabilité() As Variant) As Long Dim NbAléatoire As Currency Dim i As Long Dim TotalProb As Currency 'On réinitialise le générateur de nombres pseudo-aléatoires Randomize 'On choisit un nombre au hasard entre 0 et 1 NbAléatoire = Rnd 'On vérifie que la somme de toutes les probabilités est égale à 1 For i = LBound(Probabilité) To UBound(Probabilité) TotalProb = TotalProb + Probabilité(i) Next i If TotalProb <> 1 Then LancerLeDé = 0: Exit function 'Somme des probabilités différentes de 1. Impossible==> erreur TotalProb = 0 For i = LBound(Probabilité) To UBound(Probabilité) TotalProb = TotalProb + Probabilité(i) If NbAléatoire <= TotalProb Then 'On a trouvé le numéro=> on retourne le numéro de la face 'Cette face doit être différente de 0 (erreur) donc on rajoute 1 LancerLeDé = i + 1 Exit Function End If Next i End Function
je suis nouveau sur le forum.
je viens de trouver votre fonction et je la trouve intérssante.
mais je voudrais savoir si il est possible de l'adapter en macro afin de lancer le dé par un simple bouton, et que le résultat s'affiche sur le cellule active.
merci d'avance pour les réponse que vous pourriez m'apporter.
Allez a+
D'accord, mais après ? Il faudrait quitter la fonction ou assimilé...
Voilà... Sinon j'ai pas grand chose à dire :)
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.