• Initiateur de la discussion Initiateur de la discussion raym1313
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

raym1313

XLDnaute Occasionnel
bonjour a tous

mon probleme n'est je pense pas tres complexe mais 🙁 🙁 😕

pouvez vous m'aider svp
je vous joins un petit fichier


amicalement
raymond
 

Pièces jointes

Re : chiffres interdits

rebonjour

merci pour cette reponse rapide

la 1ere macro marche et je te remercie
quand les chiffres se suivent

par contre dans la deuxieme

le nombre aleatoire est compris entre le mini el le maxi
or je souhaitais que le chiffre aleatoire sortant soit un chiffre de la liste
lorsque j'execute la macro le chiffre sortant peut etre 43
il ne figure pas dans la liste des 8 chiffres

j ai du mal m'exprimer desolé

amicalement raymond 🙂
 
Re : chiffres interdits

Salut

Désolé je n'avais pas bien regardé le second cas.
Voici une solution mais j'attends avec impatience le pro qui pourra nous expliquer comment faire un tirage aléatoire d'une série de nombres pris au hazard.

A bientôt
Claude65
 

Pièces jointes

Re : chiffres interdits

Bonjour le fil,

une solution avec une 'tite fonction personnalisée. à rafraîchir avec F9.


A+

Edition : j'enlève la pièce jointe à cause d'un bug sur la boucle dans certains cas.... je corrige et je reviens....
 
Dernière édition:
Re : chiffres interdits

Re, bonjour Luki

bon je remet le code corrigé, en espérant avoir bien compris le problème :

Code:
Sub test()
Dim x, c As Range, t()
Randomize
Set x = CreateObject("scripting.dictionary")
For Each c In Range("C17:J17")
    x.Add c.Value, CStr(c.Value)
Next c
For Each c In Range("C15:F15")
    If x.Exists(c.Value) Then x.Remove c.Value
Next c
t = x.keys
Range("C19").Value = t(Int(x.Count * Rnd))
End Sub

donc génère un nombre au hasard dans la cellule C19, compris dans la plage C17:J17, mais pas présent dans la plage C15:F15.

bonne fin d'après midi
@+
 
Re : chiffres interdits

re à tous,

rentré à la maison, je reprends le fil:

Salut Pierrot et pierrejean

Pierrejean, tu es tombé dans le même piège que moi 🙁voir mon post précédent) la boucle infinie si aucune valeur n'est tirable!

Je corrige et je reviens!
 
Re : chiffres interdits

Re
Pour qu'aucune valeur ne soit tirable il faut que la plage d'interdit soit au moins aussi etendue que la plage des valeurs et que les toutes les valeurs soient interdites
C'est effectivement un cas que je n'ai pas envisagé !!!
Mais est-ce plausible ??
 
Re : chiffres interdits

re PierreJean,

Plausible, certainement pas mais possible, très sûrement! Notamment en faisant des essais et des fausses manip! ( c'est comme ça que je suis tombé dessus)
Juste pour dire que je pense qu'il faut éviter de laisser partir une boucle infinie dans une macro, c'est déroutant pour qui ne sait pas comment l'arrêter.

Mais de mon côté je bute (c'est souvent le cas 😡) sur le redim préserve d'un tablo...

Si je ne m'en sors pas, je passerai par une autre solution...

A+
 
Re : chiffres interdits

re à tous : la fonction perso qui utilise 2 plages

Code:
Function Tirage(Valeurs As Range, Exclus As Range) As Variant
Application.Volatile

Dim Tablo()
Dim C As Range
ReDim Tablo(0)
' création de la liste des valeurs tirables
For Each C In Valeurs.Cells
    If IsError(Application.Match(C.Value, Exclus, 0)) Then
        ReDim Preserve Tablo(UBound(Tablo) + 1)
        Tablo(UBound(Tablo)) = C.Value
    End If
Next C

If UBound(Tablo) = LBound(Tablo) Then
    Tirage = "Pas de tirage possible!"
Else
    Tirage = Tablo(Int((UBound(Tablo) * Rnd) + 1))
End If

End Function
bonne soirée
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
2
Affichages
211
Réponses
2
Affichages
217
Réponses
4
Affichages
470
Réponses
22
Affichages
812
Retour