Titre du sujet : Re: selection aléatoire par JeanMarie le 18/01/2009 21:32:31
Bonsoir
Code à copier dans un module
Option Explicit
Sub AlimentRnd()
Dim I As Byte
Dim Ind1 As Byte
Dim Ind2 As Byte
Dim LimS As Byte
'Efface les données précédentes
Range("E5:M29").ClearContents
With Sheets("Feuil1")
'Boucle sur les lignes par pas de 2
For I = 5 To 29 Step 2
If .Cells(I, 2) <> "" Then
'Un choix a été fait dans la cellule Bi
'Recherche la position de la catégorie dans la feuil2
Ind1 = Application.Match(.Cells(I, 2), Sheets("Feuil2").Range("1:1"), 0)
'Détermine la derniére ligne contenant un Aliement suivant la catégorie
LimS = Sheets("Feuil2").Cells(65536, Ind1).End(xlUp).Row - 1
'Ligne aléatoire
Ind2 = Int((LimS * Rnd) + 2)
'Bascule les données de la ligne vers le taleau
.Range("E" & I) = Sheets("Feuil2").Cells(Ind2, Ind1)
.Range("M" & I) = Sheets("Feuil2").Cells(Ind2, Ind1 + 1)
End If
Next I
End With
End Sub
@+Jean-Marie
|