Méanger liste nom, déclasser aleatoirement

villegoudou Messages postés 2 Statut Membre -  
heyquem Messages postés 808 Statut Membre -
Bonjour,

cela parrait simple mais je ne sais pas comment faire.

J'ai une liste de nom classés par ordre alphabétique que je voudrais déclasser aléatoirement ces noms.

Sur excel, word ou autre, comment fait svp?

Merci

4 réponses

  1. heyquem Messages postés 808 Statut Membre 131
     
    bonjour,

    "sur excel, word ou autre"

    ou autre ?

    alors en Python:

    import random
    
    li = ['ah bon', 'banane', 'bling bling', 'cerise', 'fleur',
          'grain', 'gras', 'huile', 'juju', 'jusquiame', 'mardi',
          'mirifique', 'ocean', 'saumon', 'xylophone']
    
    print li
    print 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
    
    random.shuffle(li)
    print
    print li
    
    random.shuffle(li)
    print
    print li
    
    random.shuffle(li)
    print
    print li


    ce qui donne

    ['ah bon', 'banane', 'bling bling', 'cerise', 'fleur', 'grain', 'gras', 'huile', 'juju', 'jusquiame', 'mardi', 'mirifique', 'ocean', 'saumon', 'xylophone']
    mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm
    
    ['juju', 'bling bling', 'ah bon', 'mirifique', 'xylophone', 'grain', 'fleur', 'huile', 'gras', 'mardi', 'saumon', 'ocean', 'cerise', 'banane', 'jusquiame']
    
    ['grain', 'ah bon', 'mardi', 'saumon', 'gras', 'juju', 'huile', 'xylophone', 'bling bling', 'fleur', 'ocean', 'banane', 'mirifique', 'jusquiame', 'cerise']
    
    ['jusquiame', 'juju', 'grain', 'ah bon', 'ocean', 'gras', 'mirifique', 'saumon', 'mardi', 'huile', 'cerise', 'banane', 'xylophone', 'fleur', 'bling bling']
    0
  2. villegoudou Messages postés 2 Statut Membre
     
    Michel,

    Je ne trouve pas la formule pour que les "zeze" apparaisse dans la colonne ou ils apparaissent mélangés...

    Les nombres attribués a chaque "zeze" correspondent ils a leur fréquence de "tirage au sort"?

    Je voudrais que chaque nom soit tiré également au sort, j'attribue donc le meme nombre ALEA() à chaque nom?

    Donc si j'ai 1000 noms à mélanger, je mettrai 0,001 à chacun?

    Merci

    Heyquem,

    je ne connais pas python ...

    je ne connais qu'un peu excel et word en fait.
    0
    1. heyquem Messages postés 808 Statut Membre 131
       
      Python est simple pour des choses simples et puissant pour des choses complexes


      Installer Python et faire tourner le code prend 10 minutes:


      1.a
      Créer un fichier fifi.txt , a priori n'importe où dans un ordinateur

      1.b
      Copier le code de mon post précédent dans ce fichier fifi.txt
      Refermer ce fichier

      1.c
      Renommer ce fichier avec l'extension .py
      pour obtenir fifi.py




      2.
      Installer Python. Cela prend 5 minutes

      https://www.python.org/downloads/

      Nota - J'ai écrit le code avec Python 2.7




      3.a
      Cliquer droit sur le fichier fifi.py puis sur Edit with IDLE


      3.b
      Pour exécuter, cliquer sur Run dans la barre de menu ,
      ou appuyer sur F5

      3.c
      Possible d'exécuter aussi dans une fenêtre de lignes de commandes en cliquant directement sur le fichier.

      Nota - Lors de l'installation de Python, l'installateur recherche tous les fichiers présents sur l'ordinateur ayant l'extension .py et enregistre le chemin du dossier conteneur de chacun. Il ne devrait donc pas y avoir de difficulté pour exécuter le programme fifi.py . Mais c'est pourquoi il faut créer le fichier avant de faire l'installation si tu le crées dans un dossier exotique (par exemple sur mon ordinateur, les codes Python sont sur le disque virtuel I:\ )
      0
  3. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    le mélange se fait par une macro VBA (voir encadré dans la feuille)

    Si tu ne connais pas VBA, il aurait mieux valu poser ton pb dans le forum bureautique

    mais tu peux ne pas utiliser vba
    dans la colonne C4:C23 tu as =alea()
    tu sélectionnes B4:C23 (sur l'exemple!) et tu demande le tri sur la colonne C

    si ça ne sert qu'une fois tu supprimes ensuite la colonne C
    Michel
    0