En VBA, je veux afficher dans les cellules ("a1:a10") 10 nombres aléatoires
différents de 1 à 10 (1 seul nbre par cellule).
Je bloque pour écrire la partie qui empèche de générer des doublons.
Merci de votre aide.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
lSteph
Bonjour,
Sub amplalea() Dim i As Long, mynb As Integer, mytop As Long mytop = 10 Range(Cells(1, 1), Cells(mytop, 1)).ClearContents Randomize For i = 1 To mytop Do mynb = WorksheetFunction.Min(Int(Rnd() * mytop) + 1, mytop)
Loop While Not IsEmpty(Cells(mynb, 1)) Cells(mynb, 1) = i Next End Sub
'Cordialement.
'lSteph
"GL" a écrit dans le message de news: 451caf01$0$5077$
Bonjour,
En VBA, je veux afficher dans les cellules ("a1:a10") 10 nombres aléatoires différents de 1 à 10 (1 seul nbre par cellule). Je bloque pour écrire la partie qui empèche de générer des doublons. Merci de votre aide.
guy
Bonjour,
Sub amplalea()
Dim i As Long, mynb As Integer, mytop As Long
mytop = 10
Range(Cells(1, 1), Cells(mytop, 1)).ClearContents
Randomize
For i = 1 To mytop
Do
mynb = WorksheetFunction.Min(Int(Rnd() * mytop) + 1, mytop)
Loop While Not IsEmpty(Cells(mynb, 1))
Cells(mynb, 1) = i
Next
End Sub
'Cordialement.
'lSteph
"GL" <GL@wanadoo.fr> a écrit dans le message de news:
451caf01$0$5077$ba4acef3@news.orange.fr...
Bonjour,
En VBA, je veux afficher dans les cellules ("a1:a10") 10 nombres
aléatoires différents de 1 à 10 (1 seul nbre par cellule).
Je bloque pour écrire la partie qui empèche de générer des doublons.
Merci de votre aide.
Sub amplalea() Dim i As Long, mynb As Integer, mytop As Long mytop = 10 Range(Cells(1, 1), Cells(mytop, 1)).ClearContents Randomize For i = 1 To mytop Do mynb = WorksheetFunction.Min(Int(Rnd() * mytop) + 1, mytop)
Loop While Not IsEmpty(Cells(mynb, 1)) Cells(mynb, 1) = i Next End Sub
'Cordialement.
'lSteph
"GL" a écrit dans le message de news: 451caf01$0$5077$
Bonjour,
En VBA, je veux afficher dans les cellules ("a1:a10") 10 nombres aléatoires différents de 1 à 10 (1 seul nbre par cellule). Je bloque pour écrire la partie qui empèche de générer des doublons. Merci de votre aide.
guy
AV
Une autre (rapide sur longue plage), histoire de...
Sub zz_Tirage() Application.ScreenUpdating = False With Range("A1: A10") .Value = "=rand()&""-""&row()" .Value = .Value .Sort Key1:=[A1], Order1:=xlAscending .Replace What:="*-", Replacement:="" End With End Sub
AV
Une autre (rapide sur longue plage), histoire de...
Sub zz_Tirage()
Application.ScreenUpdating = False
With Range("A1: A10")
.Value = "=rand()&""-""&row()"
.Value = .Value
.Sort Key1:=[A1], Order1:=xlAscending
.Replace What:="*-", Replacement:=""
End With
End Sub
Une autre (rapide sur longue plage), histoire de...
Sub zz_Tirage() Application.ScreenUpdating = False With Range("A1: A10") .Value = "=rand()&""-""&row()" .Value = .Value .Sort Key1:=[A1], Order1:=xlAscending .Replace What:="*-", Replacement:="" End With End Sub
AV
GL
Merci à tous les 2. J'ai pas encore tout compris, mais ça marche! guy
"AV" a écrit dans le message de news: %
Une autre (rapide sur longue plage), histoire de...
Sub zz_Tirage() Application.ScreenUpdating = False With Range("A1: A10") .Value = "=rand()&""-""&row()" .Value = .Value .Sort Key1:=[A1], Order1:=xlAscending .Replace What:="*-", Replacement:="" End With End Sub
AV
Merci à tous les 2.
J'ai pas encore tout compris, mais ça marche!
guy
"AV" <alainPFFFvallon@wanadoo.fr> a écrit dans le message de news:
%23xaE1d54GHA.2288@TK2MSFTNGP05.phx.gbl...
Une autre (rapide sur longue plage), histoire de...
Sub zz_Tirage()
Application.ScreenUpdating = False
With Range("A1: A10")
.Value = "=rand()&""-""&row()"
.Value = .Value
.Sort Key1:=[A1], Order1:=xlAscending
.Replace What:="*-", Replacement:=""
End With
End Sub
Merci à tous les 2. J'ai pas encore tout compris, mais ça marche! guy
"AV" a écrit dans le message de news: %
Une autre (rapide sur longue plage), histoire de...
Sub zz_Tirage() Application.ScreenUpdating = False With Range("A1: A10") .Value = "=rand()&""-""&row()" .Value = .Value .Sort Key1:=[A1], Order1:=xlAscending .Replace What:="*-", Replacement:="" End With End Sub