Utiliser une fonction sur excel

chikizo_11 Messages postés 4 Statut Membre -  
chikizo_11 Messages postés 4 Statut Membre -
Bonjour,
je veux utiliser la fonction Excel qui génère aléatoirement un nombre 1 , 2 ou 3
ben le codage est: =1+ ARRONDI(2*ALEA();0)

par exemple : je selectionne 6 cellules de la première ligne, je mettrai mon code, disons le résultat est:
2 3 1 2 2 2
.................
.................
3 3 2 1 1 3

La questions : comment modifier la fonction pour que chaque ligne du tableau soit unique??

Merci

3 réponses

  1. yoann090 Messages postés 10597 Statut Contributeur sécurité 1 697
     
    Bonjour,
    A mon avis avec de l'aleatoire tu ne pourras pas. Le seul truc qui me parait plausible, et ça se fait assez facilement en java (ou autres languages de programmation). A verifier si ça peut se faire avec excel serait qu'une fois que la ligne est générée entièrement la comparer avec les lignes précédentes et la supprimer en cas de doublon.

    Cordialement
    0
    1. chikizo_11 Messages postés 4 Statut Membre
       
      Pouvez-vous m'aider à écrire l'algorithme avec java , Je suis nul en Programmation...!!!!
      0
    2. yoann090 Messages postés 10597 Statut Contributeur sécurité 1 697
       
      Il faudrait faire un tableau de la longueur que vous voulez pour chacun des nombres et de la hauteur le nombre de nombre attendu. A la fin de chaque ligne faire une boucle pour indice allant de debut a fin verifier avec les lignes precedentes, si different incrementer l'indice de ligne de 1 sinon reecrire par dessus.

      Mais si vous ne maitrisez pas la programmation ca ne va pas etee possible.
      0
  2. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    Bonjour,

    Il faudrait que tu nous dises le nombre de combinaisons possibles avec X colonnes pour délimiter le domaine d'action: pour ma part , je suis fâché avec les calculs de proba...

    a propos, c'est toujours 6 colonnes ou cela peut il varier , si oui jusqu'à combien ?
    0
    1. chikizo_11 Messages postés 4 Statut Membre
       
      slt,
      les colonnes varie entre 1 et 13
      pour le calcul des combinaisons de 6 colonne 3*3*3*3*3*3 = 927 Combinaison possible.
      3 represente les 3 cas possible qui sont 1,2,3.
      merci
      0
    2. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
       
      Si ce n'est pas trop te demander, tu peux regarder en dessous ce que je t'ai envoyé il y a environ 2 heures 1/2
      mais je ne voudrais pas te déranger....
      0
  3. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    re,
    si je ne me suis pas trompé On a 729 combinaisons ac 6 colonnes

    code proposé
    Sub test() 
    generer_code_unique "A1", 729, 6 'adresse de restitution,nombre de lignes et nombre colonnes 
    End Sub 
    
    
    Sub generer_code_unique(adr_dep, nbre_lig, nbre_col) 
    Dim D_tirage As Object 
    Dim lig As Long, col As Byte 
    Dim T_out(), tirage As Byte, compil As String 
    
    ReDim T_out(1 To nbre_lig, 1 To nbre_col) 
    Randomize 
    Set D_tirage = CreateObject("scripting.dictionary") 
    For lig = 1 To nbre_lig 
    doublon: 
         compil = "" 
         For col = 1 To nbre_col 
              tirage = Int(Rnd * 3) + 1 
              T_out(lig, col) = tirage 
              compil = compil & tirage 
         Next 
         If D_tirage.exists(compil) Then 
              GoTo doublon 
         Else 
              D_tirage.Add compil, "" 
         End If 
    Next 
    Range(adr_dep).Resize(nbre_lig, nbre_col) = T_out 
    End Sub


    Michel
    0
    1. chikizo_11 Messages postés 4 Statut Membre
       
      merci bien, c'est gentil de ta part
      0