Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Aléatoire

  • Initiateur de la discussion davy
  • Date de début
D

davy

Guest
Bonjour,

Je voudrais à partir d'un fichier Excel:
-->Une colonne par exemple A de 500 lignes avec que des noms de personnes.
Je veux créer une macro qui redispose tous les noms aléatoirement.
Comment puis je faire?

Merci
 
C

C@thy

Guest
Bonjour Davi,

j'ai fait un truc comme ça : en colonne A j'ai une plage verticale nommée liste

en colonne B une plage verticale dans laquelle j'ai rentré la formule suivante =INDEX(Liste;ARRONDI(ALEA()*(NBVAL(A1:A65000)-1);0)+1;1)
validée en matricielle (par Ctrl+Maj+Entrée)

Avantage et inconvénient à la fois : la fonction alea() se recalcule à chaque fois que l'on valide la saisie dans une cellule

Je sais, y'a pas de macro, mais pour moi la meilleure macro consiste à ne pas en écrire (quand c'est possible, évidemment!)

@+

 
D

davy

Guest
Merci

mais en plus je ne veux pas que ca génére deux fois les meme.
Je veux une nouvelle liste avec que des users uniques,
donc la meme liste mais dispoée autrement tu sais comment faire?
 
D

davy

Guest
Oui ca change sauf que parfois j'ai deux fois le meme

User1
User2
User3
.
.
.
User30

J'obtient:

User23
User16
User2
.
.
User2
.
.
User1

Et moi je ne veux que une fois de chaque user
 
A

andré

Guest
Salut,

Vois si cela te convient.

Si tu as des doublons dans ta liste de users, il faut d'abord les éliminer.

Ândré.
 

Pièces jointes

  • alea.xls
    17.5 KB · Affichages: 41
  • alea.xls
    17.5 KB · Affichages: 47
  • alea.xls
    17.5 KB · Affichages: 48
C

C@thy

Guest
André a raison,
il fallait bien utiliser alea() mais de façon plus complexe pour éviter les doublons
(ce que tu n'avais pas précisé au départ).

Il a masqué les colonnes A B et D dans lesquelles se trouvent des formules.

 
D

davy

Guest
Vous allez me prendre pour un nul mais bon je debute avec excel.
Maintenant je voudrais exporter la colonne qui m'intéresse dans une autre feuille excel. Je n'arrive pas.
 
D

davy

Guest
Sauriez vous comment faire lorsque j'ai un fichier tel que celui que André m'a donné.
J'ai une colonne de 500 Noms User1 ... User500
Je voudrais créer 10 fichiers de la manière suivante:
--> le premier va du User1 au User50
...
-->le dernier fichier va du User450 au User500

C'est vraiment sympa de votre part de m'aider, j'apprecie beaucoup.

Bonne soirée

Davy
 
A

andré

Guest
Salut davy,

Bien qu'il se fait tard, c'est toi qui n'est pas très clair, à moins que ce soit moi qui fatigue (lol).

As-tu compris la procédure que j'emploie ?
1. la liste des users dans la colonne C
2. des nombres aléatoires dans la colonne B (fonction : =ALEA(), qui change à chaque calcul dans ta feuille)
3. un classement dans la colonne A (fonction : RANG(...))
4. en colonne D une liste classée, créée de toutes pièces pour les besoins de la cause, limitée au nombre maximum contenu dans le colonne A, (pour éviter les messages d'erreur).
Si tu ne veux pas de ligne vide ou que tu n'as pas de ligne d'en-tête, tu as deux méthodes : soit tu la caches, soit tu remplaces la formule de la première ligne par le chiffre 1.
5. la colonne E reprend ta liste aléatoire par la fonction RECHERCHEV(...).

Si tu veux copier cette liste aléatoire dans 10 autres classeurs (ou feuilles) tu crées dans chacun en colonne A une liste classée (idem au point 4 ci-dessus), mais dont la première commence par 1, la deuxième par 51, ... et ainsi de suite.
Ensuite dans les colonnes B tu places des fonctions RECHERCHEV.

Et tu as le résultat que je crois que tu veux obtenir.

Si mon explication n'est pas claire, pas d'hésitation, dis le, mais la réponse sera pour demain, car maintenant il est temps que j'aille prendre une petite chope.

Ândré.
 

Discussions similaires

Réponses
16
Affichages
829
Réponses
3
Affichages
254
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…