Tableau Excel à remplir aleatoirement

Résolu
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. Désolé pour le retard.
    Le programme fonctionne parfaitement, merci :)
    1. Bonjour,

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

      Cordialement
      1. Contributeur
        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. 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...