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
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
A voir également:
- Distribution de nombres dans EXCEL
- Liste déroulante excel - Guide
- Si et excel - Guide
- Aller à la ligne dans une cellule excel - Guide
- Mise en forme conditionnelle excel - Guide
- Word et excel gratuit - Guide
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
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
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