Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Macro fonction aléatoire - Tableur apprentissage chinois

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

S

Strululu44

Guest
Bonjour,

Je suis en train de développer un tableur excel avec macro destiné à l'apprentissage de vocabulaire chinois,

Ce tableau permet de retrouver la traduction ou la prononciation de mots en fonction de leur prononciation ou traduction.

Je voudrais ajouter à ce projet une fonction aléatoire qui permettrait d'afficher un certain nombre de mot de manière aléatoire et sans doublons, mais je bloque depuis deux jours sur la fonction aléatoire...

Je joins le tableau et reste à dispositions pour plus d'infos,

Merci!
 
Re : Macro fonction aléatoire - Tableur apprentissage chinois

Bonjour

Tu as fait une recherche sur le forum ?

Car il y a de nombreux exemples relatifs à la génération de lettres, ou chiffres aléatoires etc..
En voila donc un de plus 😉

Code:
Sub Petit_Exemple()
Dim t, i&
t = Array("chien", "art zoyd","lapin", "frites", "poissons", "marmoréen", 1, 25, 1973, "pink-floyd")
tMin = LBound(t)
tMax = UBound(t)
Randomize 12587
For i = 1 To 13
MsgBox t(Int(Rnd * (tMax - tMin) + tMin))
Next i
End Sub
Le principe pour générer un nombre aléatoire entre 2 valeurs est le suivant
Int(Rnd*(Max-Min)+Min)

Max= valeur supérieure
Min=valeur inférieure

Ex: Int(Rnd(5-1)+1) donnera des chiffres entre 1 et 5
 
Dernière édition:
Re : Macro fonction aléatoire - Tableur apprentissage chinois

RE


Sauf erreur, pas vu Randomize dans ton code, non ?
EDITION: plus d'infos Ce lien n'existe plus

PS: poste aussi un fichier en version xls car ici ce n'est pas le forum dédié à Excel 2007.
 
Dernière édition:
Re : Macro fonction aléatoire - Tableur apprentissage chinois

Bonjour,

Voici une solution possible avec traitement anti doublon :

Sub Petit_Exemple()
Dim TirageMini As Integer, TirageMaxi As Integer
Dim NbTirages As Integer
Dim Tirage As Integer, Tourne As Integer
Dim AntiDoublons(100) As Boolean
NbTirages = 10
TirageMini = 2
TirageMaxi = Range("A1").CurrentRegion.Rows.Count
Randomize Timer
For Tourne = 1 To NbTirages
RelanceBoule:
Tirage = Int(Rnd * (TirageMaxi - TirageMini) + TirageMini)
If Not AntiDoublons(Tirage) Then
MsgBox Range("Voca!A" & Tirage)
AntiDoublons(Tirage) = True
Else
GoTo RelanceBoule
End If
Next Tourne
End Sub
 
- 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

Réponses
5
Affichages
1 K
D
  • Question Question
Réponses
3
Affichages
5 K
M
  • Question Question
Réponses
3
Affichages
1 K
Mr.Nobody
M
V
Réponses
0
Affichages
753
V
L
Réponses
7
Affichages
3 K
leodaedo
L
M
Réponses
2
Affichages
1 K
A
Réponses
0
Affichages
699
arktic
A
K
Réponses
4
Affichages
2 K
K
D
Réponses
5
Affichages
1 K
Dimebag
D
C
Réponses
5
Affichages
990
C
D
Réponses
2
Affichages
1 K
descamps
D
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…