Liste aléatoire un peu compliquée

Bonjour,

Votre aide est grandement appréciée.

Je dois produire une liste aléatoire à partir de documents dans un répertoire.

-J'ai à peu près 3000 documents PDF qui sont dans un répertoire (ex: c:\temp\PDF)

-Je dois compiler une liste aléatoire, dans Excel, qui représentera 35% des documents dans ce répertoire. (donc 1050 PDF dans ce cas) et ensuite avoir l'option de la sauvegarder sans que la liste change à la réouverture.

Merci d'avance pour votre aide!

Samantha

Bonjour

essaies cette procédure:

Sub tirage_pdf()
Dim fich As String, tablo_in, cptr As Integer, nbre As Integer
Dim gagnant As Collection, tirage As String

ReDim tablo_in(0)
'collecte des fichiers
ChDir "C:\temp\pdf"
fich = Dir("*.pdf")
While fich <> ""
tablo_in(cptr) = fich
cptr = cptr + 1
ReDim Preserve tablo_in(cptr)
fich = Dir
Wend

'sélection aléatoire des fichiers
nbre = Int((cptr + 1) * 0.35)
Set gagnants = New Collection
'test = UBound(tablo_in)
For cptr = 1 To nbre
    tirage = tablo_in(Int(Rnd() * (UBound(tablo_in)+1)))
    On Error Resume Next
        gagnants.Add tirage, tirage
        If Err.Number > 0 Then cptr = cptr - 1
     On Error GoTo 0
Next

'restitution
Application.ScreenUpdating = False
Range("A1:A2000").ClearContents
For cptr = 1 To gagnants.Count
    Sheets(1).Cells(cptr, 1) = gagnants(cptr)
Next

ThisWorkbook.Save
Set gagnants = Nothing
End Sub
6traitement-bdd.zip (51.33 Ko)

Bonjour Michel,

Cela fonctionne cependant le tirage se fait à partir de "mes documents" et non c:\temp\pdf...malgré que le répertoire est bien défini...bizarre, comment corriger ce problème?

Merci encore de votre aide

Samantha

Bonjour,

Effectivement c'est bizarre

Temp est un dossier utilisé par Windows et donc peut-^tre réservé

essaie en changeant le nom du dossier et dis moi par curiosité ce que ca donne

concernant la procédure, on devrait aller + vite en utilisant l'objet "dictionnary" plutôt sue "collection" mais je n'ai pas trop la syntaxe en tête; si j'ai le temps et si ca t'intéresse je te proposerais une version "dictionnary"

Dans l'attente

Rechercher des sujets similaires à "liste aleatoire peu compliquee"