Formule Randbetween

Bonjour.

Pour tirer au sort un nombre entre 1 et 200, j'utilise la formule Range("B1").Formula = "=RANDBETWEEN(1,200)"

Le problème est que j'ai bricolé ça pour gérer une tombola, et qu'en le faisant sur un portable où il n'y a que Excel97, ça ne fonctionne pas.

Y a-t-il possibilité d'avoir une formule équivalente sur cette version d'Excel, certes un peu ancienne ?

Merci.

Bonjour,

Pourquoi en vba ? Autant inscrire la formule dans la cellule.
=ENT(ALEA()*200+1)
eric

Bonjour,
Une autre !?
Cdlt.

=ENT(1+(200-1)*ALEA())

Salut jean-eric,

ton -1 est de trop. Tu atteins 199 au maximum avec lui
Et en l'enlevant on arrive à la mienne
eric

Bonjour,
@eriiic,
Pas vraiment réfléchi, mon truc !...
Bon 1er. mai.
Cdlt.

Bonjour,

Pourquoi en VBA ? Eh bien tout simplement parce que je fais une tombola, et quand j'ai tiré un nombre, j'en tire encore un autre, puis un autre. DOnc je mets un bouton et je clique dessus quand je veux un nouveau tirage.

Et la macro prévoit d'éviter les doublons, évidemment.

Merci pour toutes ces réponses. Je vais essayer avec la formule que vous me donnez.

un tombola pour 30 élements, nouveau tirage avec F9

25tombola-30.xlsx (16.94 Ko)

Merci BsAlv. Je vais regarder.

Pour ma part, j'aurais plus de 30 éléments. En fait, dans mon développement, le nombre d'éléments est une variable que je définis en début de tirage.

bonsoir,

même cela ne cause pas de problèmes et le même principe est possible en VBA.

Sub tirage()
     Dim rand(), res()
     nombre = Range("G1").Value
     ReDim rand(1 To nombre)
     ReDim res(1 To nombre)

     For i = 1 To nombre: rand(i) = Rnd: Next
     For i = 1 To nombre: res(i) = Application.Match(WorksheetFunction.Large(rand, i), rand, 0): Next

     With Range("E1")
          .EntireColumn.ClearContents
          .Resize(nombre).Value = Application.Transpose(res)
     End With
End Sub
14tombola-30.xlsx (19.20 Ko)

Merci !!!!

Rechercher des sujets similaires à "formule randbetween"