Générer nombre aléatoire différent des nombres d'une colonne

Bonjour,

Je souhaite générer un nombre aléatoire étant différent des nombres déjà présents dans la colonne A.

Ma macro génère un nombre aléatoire allant de 100 à 150, et les nombres dans la colonne à vont de 100 à 120. Je voudrais donc que mon UserForm affiche seulement les nombres compris entre 121 et 150.

Ma macro génère correctement le nombre aléatoire mais affiche les nombres de 120 à 150..

Dans l'absolue je voulais utiliser une boucle Do Until :

Do Until RandomNumber <> Sheets("Feuil1").Cells(i, 1).Value

TextBox_Ref.Value = RandomNumber

Loop

mais ma macro fonctionne a l'infini..

Je vous joint le fichier pour plus de clarté

Merci d'avance à tous

Bill

Bonjour

Essayes cette macro

Private Sub CommandButton_Ref_Click()
Dim RandomNumber As Integer
  Do
    RandomNumber = Int(Rnd * (150 + 1 - 100)) + 100
  Loop While Application.CountIf(Columns("A"), RandomNumber) > 0
  TextBox_Ref = RandomNumber
End Sub

Merci beaucoup Banzai!

Quand je vois ton nom je sais qu'il va y avoir la solution!

Le but ultime était de rajouter des lettres devant les numéros, pour générer une référence. Mais la fonction count.if ne doit plus être adaptée pcq il me génère des références déjà présentes dans la colonne "A".

As-tu une piste?

Bill

Bonjour

Si tu appliques le CounIf sur la colonne B cela ne va pas fonctionner comme il faut

Remplaces B par A (partie surlignée)

Private Sub CommandButton_Ref_Click()
Dim RandomNumber As Integer
  Do
    RandomNumber = Int(Rnd * (150 + 1 - 100)) + 100
  Loop While Application.CountIf(Columns("A"), "BST" & RandomNumber) > 0
  TextBox_Ref = "BST" & RandomNumber
End Sub

Quel idiot...

Un grand merci Banzaï!!

Rechercher des sujets similaires à "generer nombre aleatoire different nombres colonne"