Tableau Excel à remplir aleatoirement

Résolu
Angelsephy Messages postés 1 Statut Membre -  
 Angelsephy -
Bonjour ,

Je m'excuse si je ne suis pas sur le bon forum mais je ne savais pas exactement où poser ma question.
Je travaille sur Excel et j'ai un petit problème, du moins quelque chose que je ne sais pas faire.

J'ai un tableau de 200 personnes avec des colonne concernant leur identifiant, leur sexe, leur métier, leur age etc etc ...
Je fais des statistiques et j'aurais voulu, sur un autre onglet excel, faire apparaitre dans un tableau 50 noms de la liste choisi aleatoirement.
Je m'explique un peu mieux. Cet autre tableau est rempli de formule, c'est à dire que lorsque l'identifiant de la personne est mis dans la 1ere colonne, toute ses données aparaissent dans les autres (sexe, age, metier...).
Seulement je ne connait pas la formule ou le moyen pour qu'Excel choisisse un numéro identifiant aléatoirement à partir d'une liste préétabli (celle des 200 noms). En s'arangeant bien sûr pour le faire pour tous le tableau (soit 50 identifiant aleatoire si possible différent afin d'éviter les doublon).
En espérant m'être fait compris je vous remercie de votre aide.

Cordialement

Angelsephy

Ps: pardonnez moi les fautes d'orthographe, mais le temps de pause étant limité ^^ je fais au plus vite, merci de votre compréhension.
Je pourrais donc pas vous répondre durant l'apres midi.

Configuration: Windows XP
Firefox 2.0.0.3

5 réponses

  1. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    bonjour,
    une solution en vba

    dans déclaration
    Dim pointeur() as boolean

    Sub sélectionAléatoir()
    Dim num As Integer, i As Integer
    Dim NBnom As Integer

    NBnom = 200 'changer si le nombre de nom change
    ReDim pointeur(NBnom)
    For i = 1 To NBnom
    pointeur(i) = True
    Next i
    Randomize
    For i = 1 To 50
    UnAutre:

    num = Int((NBnom * Rnd) + 1)
    If pointeur(num) Then
    'le nom n'a pas encore été sélectionner
    'en supposant que les noms sont dans la colonne A

    Worksheets("Sheet1").Range("A" & num).Copy _
    Destination:=Worksheets("Sheet2").Range("A" & i)

    pointeur(num) = False
    Else
    GoTo UnAutre
    End If
    Next i

    End Sub

    le tableau sert à éviter les doublons
    A+
    louis
    1
  2. Angelsephy
     
    un petit :up: d'aide merci ^^
    0
  3. Z*S
     
    Ca peut sembler assez barbare, mais tu peux passer par un script perl pour générer ton fichier Excel.. Spreadsheet::Excel

    Maintenant, y'a peut-être une solution avec Excel; et c'est celle-là que tu préfèrerais...
    0
  4. Angelsephy
     
    Bonjour,

    Je test ceci sur mon poste de travail cette apres midi et je redonne des nouvelles en soirees.
    Merci beaucoup

    Cordialement
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Angelsephy
     
    Désolé pour le retard.
    Le programme fonctionne parfaitement, merci :)
    0