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

Tirage aleatoire d'une lettre !

deudecos

XLDnaute Impliqué
Bonjour a toutes et a tous,

Je cherche deja depuis quelques temps a obtenir un tirage d'une lettre de l'alphabet de facon aleatoire.

Quelqu'un parmis vous pourrait il ou elle m'aider a y parvenir ?


Bonne journee

Olivier
 

MichelXld

XLDnaute Barbatruc
bonjour Olivier

ci dessous un exemple par macro

Sub lettreAleatoire()
Dim Cible As Byte
Randomize 'Initialisation générateur de nombres aléatoires
Cible = Int((26 * Rnd) + 1)
MsgBox Chr(Cible + 64)
End Sub




bon apres midi
MichelXld

Message édité par: michelxld, à: 16/10/2005 13:22
 

deudecos

XLDnaute Impliqué
Bonjour Michel, le forum,

Alors la, je dis... 'ca fait hyper longtemps que je tourne autour de cette solution, et la reponse est si simple que j'en merite tres largement ma reputation de Deux de quotient !'

Merci Michel de me debarasser de cette epine !

Bonne journee

Olivier
 

Ti_

Nous a quitté
Repose en paix
voici une méthode que j'aime bien, parce qu'elle permet de choisir précisément les lettres que tu désires renvoyer. Je l'utilise systématiquement quand je dois renvoyer des lettres aléatoires. A peine modifiée elle permet de renvoyer des lettres sans doublons

Function LettreAleatoire$()
Const Lettres$ = 'abcdefghijklmnopqrstuvwxyzéèêëàâôûù'
Randomize
LettreAleatoire = Mid$(Lettres, Int(Rnd * Len(Lettres) + 1), 1)
End Function

Salut à vous deux
Ah ben j'avais pas vu que Michel était déjà passé par là. Bon ben ça te fera deux méthodes pour le prix d'une alors ! arf.

Message édité par: Ti_, à: 16/10/2005 13:40
 

deudecos

XLDnaute Impliqué
Salut a toi Maitre Ti,

Je viens juste de m'appercevoir de ton passage et de ta reponse.

Merci pour ton aide aussi, grace a vous deux, je serais mieux arme contre les 'Alea' de la vie...

Bonne journee

Olivier
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Bonjour Olivier, Ti, Michel, le Forum

Et dans le Style Western Spaguetti à la sauce barbatruc LOL


Bon Dimanche à vous tous
[ol]@+Thierry[/ol]
 

andré

XLDnaute Barbatruc
Salut,

Une lettre de l'alphabet peut tout aussi bien être une minuscule qu'une majuscule !

=CHOISIR(ARRONDI(ALEA();0)+1;CAR(ENT(ALEA()*26+1)+64);CAR(ENT(ALEA()*26+1)+96))

ou (plus court) :
=CAR(ENT(ALEA()*26+1)+64+CHOISIR(ARRONDI(ALEA();0)+1;0;32))

Â+

Et encore un peu plus court :
=CAR(ENT(ALEA()*26+1)+CHOISIR(ARRONDI(ALEA();0)+1;64;96))

Message édité par: andré, à: 16/10/2005 16:27

C'est ancore moi !
J'avais donné dernièrement à Gérard une petite astuce pour transformer une minuscule en majuscule, ou vice-versa, en lui disant que je ne savais vraiment pas à quoi cela pouvait bien servir :
=CAR(CODE(A1)+32) et CAR(CODE(A1)-32)
Eh bien, voilà une application.
Alt+64+32 =Alt+96 (ou A = a)

Â+

Message édité par: andré, à: 16/10/2005 16:36
 

deudecos

XLDnaute Impliqué
Salut a tous !

Ben la ! Je ne pensais pas que ma question attirerait autant de reponses !
Merci a tous !
Et merci encore a toi Andre qui a repondu en meme temps a ma future question ! (Minuscules, majuscules)

Bonne soiree

Olivier
 

Gibson94

Nous a quitté
Repose en paix
Bonsoir le fil,

J'ai été curieux de voir fonctionner les formules d'André et de Tibo, donc je les ai mises sur une même feuille.

1ère formule en 'C2'

=CHOISIR(ARRONDI(ALEA();0)+1;CAR(ENT(ALEA()*26+1)+64);CAR(ENT(ALEA()*26+1)+96))

2ème formule en 'C4'

=CAR(ENT(ALEA()*26+1)+64+CHOISIR(ARRONDI(ALEA();0)+1;0;32))

3ème formule en 'C6'

=CAR(ENT(ALEA()*26+1)+64)

Et de ces 3 formules découle ma question.

Lorsque je valide une seule de ces 3 cellules (donc formules), il s'avère que le résultat de chaque cellule change en même temps sans avoir bien entendu le même résultat.

Pourquoi donc ce rapport entre elles ?

Le fait d'écrire une lettre dans n'importe quelle autre cellule vide nous permet d'avoir le même effet...

Bonne nuit à tous...

Message édité par: gibson94, à: 17/10/2005 00:36
 

Charly2

Nous a quittés en 2006
Repose en paix
Bonsoir ou bonne nuit tout le monde,

Pour répondre à Gibson94, c'est vraisemblablement parce que dans le menu 'Outils'+'Options', la case 'Mode de calcul = Automatique' est cochée dans l'onglet 'Calcul'....

Voili voilà

Que Morphée soit avec vous
Charly
 

deudecos

XLDnaute Impliqué
Bonjour a toutes et a tous en ce beau matin d'hiver ! (enfin... chez moi !)

En effet Guy, ce que dit Charly est judicieux, puisque a chaque intervention sur ta feuille, et ce par defaut, elle est entierement recalculee...

Bonne journee a tous

Olivier
 

andré

XLDnaute Barbatruc
Resalut à vous,

Pour que le calcul ne se refasse pas à chaque validation d'une cellule quelconque de la feuille, la dernière formule (les autres aussi) peut être modifiée comme suit :

=SI(A1='';'';CAR(ENT(ALEA()*26+1)+CHOISIR(ARRONDI(ALEA();0)+1;64;96)))

Donc, tant que A1 est vide, le résultat ne change pas.
Pour qu'il change il suffit de taper un caractère quelconque en A1, même de façon aléatoire (lol).
Dès lors même la touche clavier F9 modifie le choix de la lettre.

Â+
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…