Tirage d'un nouveau nombre aléatoire dans la première cellule vide de la colonne

RCToxine

XLDnaute Nouveau
Bonjour tout le monde,

Je cherche à éviter d'avoir des doublons dans une liste de nombre aléatoire que j'incrémente de nouveau nombre à chaque fois que je lance la macro!!

Quelqu'un peut-il m'éclairer de ces lumières à ce sujet.

Code:

Sub test()

Dim Colonne As Integer
Dim alea As Long

Colonne = 3
alea = 10 + Int(10 * Rnd)

If Cells(1, Colonne) = "" Then

Cells(1, Colonne) = alea
Else
Cells(Rows.Count, Colonne).End(xlUp).Offset(1, 0) = alea
End If
End Sub

Merci pour votre aide

RCToxine
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : Tirage d'un nouveau nombre aléatoire dans la première cellule vide de la colonne

Bonjour RCToxine, bonjour le forum,

Peut-être comme ça :
Code:
Sub test()
Dim alea As Byte 'déclare la variable alea
Dim cel As Range 'déclare la variable cel

debut: 'étiquette
If Cells(10, 3).Value <> "" Then MsgBox "Tirage effectué !": Exit Sub 'si la cellule C10 n'est pas vide, message, sort de la procédue
Randomize 'lance le générateur de nombres aléatoires
alea = 10 + Int(10 * Rnd) ''definit alea
If Not Columns(3).Find(alea, , xlValues, xlWhole) Is Nothing Then GoTo debut 'si alea existe déjà dans la colonne 3, va à l'étiquette "debut"
Set cel = IIf(Cells(1, 3).Value = "", Cells(1, 3), Cells(Rows.Count, 3).End(xlUp).Offset(1, 0)) 'définit la cellule cel
cel.Value = alea 'donne à la cellule cel la valeur alea
End Sub
 

Discussions similaires

Statistiques des forums

Discussions
312 505
Messages
2 089 066
Membres
104 015
dernier inscrit
kkgk