Distribution de nombres dans EXCEL

Résolu/Fermé
Chonon Messages postés 1 Date d'inscription jeudi 7 février 2008 Statut Membre Dernière intervention 7 février 2008 - 7 févr. 2008 à 14:49
LatelyGeek Messages postés 1758 Date d'inscription vendredi 4 janvier 2008 Statut Membre Dernière intervention 5 janvier 2023 - 7 févr. 2008 à 22:36
Bonjour,

Je cherche à distribuer aléatoirement des nombres, de 1 à 110 par ex, dans autant de lignes, sans doublon.
J'ai essayé la fonction ALEA, mais il faudrait en plus un calcul pour vérifier que dans la colonne le nombre n'existe pas encore...

Des idées ??

Merci !
A voir également:

1 réponse

LatelyGeek Messages postés 1758 Date d'inscription vendredi 4 janvier 2008 Statut Membre Dernière intervention 5 janvier 2023 550
7 févr. 2008 à 22:36
Ben, du VB...

Sub AléatoiresSansDoublon()
'
' AléatoiresSansDoublon Macro
' Macro enregistrée le 07/02/2008 par LatelyGeek
'
'Initialisation du compteur

Dim Compteur As Integer
Compteur = 1
'Premier positionnement
Range("A1").Select

'Boucle
While Compteur <= 110
'Affectation d'un nombre aléatoire compris entre 1 et le nombre de lignes
ActiveCell.FormulaR1C1 = "=INT(RAND()*110)+1"
'Compte sur la même ligne en colonne B du nombre de fois où cette valeur est présente dans la colonne A
ActiveCell.Offset(0, 1).FormulaR1C1 = "=COUNTIF(C[-1],RC[-1])"
'Vérifie si la valeur n'est présente qu'une fois
If ActiveCell.Offset(0, 1).Value = 1 Then
'Si oui, fait un collage spécial, remet la colonne B à blanc, rajoute 1 au compteur et passe à la ligne suivante
Selection.Copy
Selection.PasteSpecial Paste:=xlValues
ActiveCell.Offset(0, 1).FormulaR1C1 = ""
ActiveCell.Offset(1, 0).Select
Compteur = Compteur + 1
End If
'Fin de la boucle
Wend

End Sub
1