Modification Alea (code)

  • Initiateur de la discussion Initiateur de la discussion JJ1
  • 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 !

J

JJ1

Guest
Bonjour,

Le code Dictionary est efficace et rapide. Celui ci me donne 10 nombres au hasard de 1 à 70 en G1.

Pourrait-on le modifier pour qu'il me fournisse toujours 10 nombres en G1 au hasard mais parmi 25 nombres choisis situés en AA1:AY1 et uniquement parmi ceux-ci (si possible avec dictionary car très rapide d'exécution)

Voici le code actuel:

....
For i = 1 To 100
Randomize
Set dico = CreateObject("Scripting.dictionary")
While dico.Count < 10
x = Int((70 * Rnd) + 1)
dico(x) = x
Wend
Range("G1").Resize(, 10) = dico.keys

....

Je ne fournis pas de fichier pour le moment mais s'il en faut un dites-le moi.
merci de votre aide.
Bonne soirée
 
Re : Modification Alea (code)

Bonjour jj1

A tester:

Code:
tablo = Range("AA1:AY1")
Randomize
Set dico = CreateObject("Scripting.dictionary")
While dico.Count < 10
xx = Int((UBound(tablo, 2) * Rnd) + 1)
x = tablo(1, xx)
dico(x) = x
Wend
Range("G2").Resize(, 10) = dico.keys
 
Re : Modification Alea (code)

Bonjour JJ1, Re PierreJean🙂

c'est fait alors je donne...
Code:
Set dico = CreateObject("Scripting.dictionary")
While dico.Count < 10
x = Int((25 * Rnd) + 1)
dico(Cells(1, 26 + x).Value) = Cells(1, 26 + x).Value
Wend
Range("G1").Resize(, 10) = dico.keys

bonne soirée
@+
 
Re : Modification Alea (code)

Bonjour,

Avec Items :
Code:
Sub Test()

    Dim Dico
    Dim X As Integer
    
    Randomize
    
    Set Dico = CreateObject("Scripting.dictionary")
    
    While Dico.Count < 10
    
        X = Int((25 * Rnd) + 1)
        
        If Dico.exists(X) = False Then
        
            Dico.Add X, Cells(, 26 + X)
            
        End If
    
    Wend
    
    Range("G1").Resize(, 10) = Dico.Items

End Sub

Hervé.
 
Re : Modification Alea (code)

Merci beaucoup pour ces 3 codes ( j'ai le choix !-merci)
Dans le résultat en G1 il n'y aura pas de doublon car Dictionary le gère.

D"après vous quel est le plus rapide?
je vais tester de mon côté.(je vous dirai)


Bonne soirée
 
Re : Modification Alea (code)

Merci Pierre-Jean, je viens d'installer les 2 autres codes (le tien et celui de Pierrot) rien ne se passe en G1 (aucun affichage de nombres ?)
et celui d'Hervé me donne des nombres hors plage.
J'ai joins un exemple.

Merci
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

A
  • Question Question
Réponses
3
Affichages
595
Réponses
8
Affichages
1 K
L
Réponses
5
Affichages
814
LandryK7
L
J
Réponses
6
Affichages
1 K
J
Réponses
20
Affichages
2 K
J
Réponses
19
Affichages
3 K
J
V
  • Question Question
Réponses
3
Affichages
888
R
Réponses
6
Affichages
1 K
rocornet
R
J
  • Question Question
Réponses
8
Affichages
2 K
julien clerc
J
P
Réponses
1
Affichages
928
M
Réponses
0
Affichages
2 K
MARGAR
M
N
Réponses
4
Affichages
3 K
Laurent Trivini
L
Réponses
2
Affichages
885
B
Réponses
2
Affichages
1 K
Benoit
B
Retour