Tableau Excel à remplir aleatoirement

Résolu/Fermé
Angelsephy Messages postés 1 Date d'inscription mercredi 18 avril 2007 Statut Membre Dernière intervention 18 avril 2007 - 18 avril 2007 à 12:59
 Angelsephy - 24 avril 2007 à 12:28
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.


A voir également:

5 réponses

lermite222 Messages postés 8724 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
19 avril 2007 à 10:35
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
un petit :up: d'aide merci ^^
0
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
Bonjour,

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

Cordialement
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

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