Bonjour et merci pour le retour,
Merci, mais stp dis moi comment fais tu pour avoir copy sur la page d'excell?
Désolé, je ne comprends pas ta demande,
C'est cette ligne qui écrit sur la feuille:
cel = NBaleatoire '...................................on l'écrit dans la cellule
Le code commenté:
Sub Nombre_Aleatoire() 'sans doublons
Dim plage As Range, cel As Range, NBaleatoire As Double '...variables
Application.ScreenUpdating = False '.........................désactive rafraichissement de l'écran
With Sheets("Feuil1") '.....................................agit sur cette feuille uniquement (nom à adapter)
Set plage = .Range("A1:A20") '............................plage devant recevoir les nombres
plage.Value = "" '.....................................réinitialise la plage
Randomize '...............................................Initialise le générateur de nombres aléatoires
For Each cel In plage '..................................boucle sur chaque cellule de la plage
1 '..........................................................étape
NBaleatoire = WorksheetFunction.RandBetween(1, 100) '...génère un nombre entre 1 et 100
If Application.CountIf(plage, NBaleatoire) Then '......si ce nombre existe déjà dans la plage
GoTo 1 '..............................................on revient à 1 donc on en génère un nouveau
Else '.................................................sinon
cel = NBaleatoire '...................................on l'écrit dans la cellule
End If '...............................................fin de la condition
Next cel '...............................................passe à la cellule suivante
plage.Sort Key1:=.Cells(1, 1), Order1:=xlAscending, _
Header:=xlNo, Orientation:=xlTopToBottom '...............tri par odre croissant
End With
End Sub
Cordialement,