Comment créer une suite de chiffre aléatoire avec deux condition

Résolu
pyrus2047 Messages postés 153 Date d'inscription   Statut Membre Dernière intervention   -  
pyrus2047 Messages postés 153 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
je cherche a faire une macro excel qui me génère a partir d'une liste de dix chiffre de un a dix en(A1:A10)
sept combinaison aléatoire sans repetition du meme chiffre dans sept lignes

Premiere condition
il faut exclure pour la combinaison 1 le chiffre qui se trouve en (AA1)
il faut exclure pour la combinaison 2 le chiffre qui se trouve en (AB1)
il faut exclure pour la combinaison 3 le chiffre qui se trouve en (AC1)
il faut exclure pour la combinaison 4 le chiffre qui se trouve en (AD1)
il faut exclure pour la combinaison 5 le chiffre qui se trouve en (AE1)
il faut exclure pour la combinaison 6 le chiffre qui se trouve en (AD1)
il faut exclure pour la combinaison 7 le chiffre qui se trouve en (AF1)

Deuxième condition
il faut exclure pour les sept combinaisons le ou les chiffres pour qui dans la ligne et les sept colonnes
l'un des mots oui,non,peut être
si vous avez une solution merci



A voir également:

5 réponses

Patrice33740 Messages postés 8561 Date d'inscription   Statut Membre Dernière intervention   1 780
 
Bonjour,

Des chiffres ou des nombres ?
0
pyrus2047 Messages postés 153 Date d'inscription   Statut Membre Dernière intervention  
 
re
des chiffre
0
Patrice33740 Messages postés 8561 Date d'inscription   Statut Membre Dernière intervention   1 780
 
Lesquels emploies-tu ?
Chiffres romains, arabes, hexadécimaux ?
0
pyrus2047 Messages postés 153 Date d'inscription   Statut Membre Dernière intervention  
 
chiffre latin
1 2 3 4 5 6 7 8 9 10
0
Patrice33740 Messages postés 8561 Date d'inscription   Statut Membre Dernière intervention   1 780
 
0, 1, 2 3, 4, 5 ,6 ,7 ,8 et 9 sont des chiffres arabes !

10 est un nombre composé de 2 chiffres 1 et 0, en hexadécimal c'est le chiffre A qui représente le nombre 10

Commences-tu à comprendre le pourquoi de mes questions précédentes ?
0
pyrus2047 Messages postés 153 Date d'inscription   Statut Membre Dernière intervention  
 
oui au temps pour moi
tu vois une solution
0
Patrice33740 Messages postés 8561 Date d'inscription   Statut Membre Dernière intervention   1 780
 
Re,

Je vois que tu as du mal à définir ton besoin, tu veux utiliser des nombres (pas des chiffres) et c'est les nombres qui ne doivent pas apparaître deux fois dans la même combinaison !

Tu devrais reformuler ta demande avec plus de précision et de détails pour qu'on comprenne exactement ce que tu voudrais exactement (pourquoi parles-tu de AA1, AB1 ...).
Si tu n'arrives pas à mieux l'exprimer, un fichier avec des exemples de ce que tu voudrais et ce qu'il ne faut pas serait bien utile.

Pour éviter de [nous faire] perdre autant de temps, tu devrais appliquer cette méthode :
« Si je disposais d’une heure pour résoudre un problème et que ma vie en dépende, je consacrerais les 55 premières minutes à définir la question appropriée à poser, car une fois cela fait, je pourrais résoudre le problème en moins de cinq minutes.» ALBERT EINSTEIN

0
pyrus2047 Messages postés 153 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour
désole voici un fichier qui je l'espère sera plus claire https://www.cjoint.com/c/HACmvqhpxOT
merci
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584 > pyrus2047 Messages postés 153 Date d'inscription   Statut Membre Dernière intervention  
 
bonjour,
peux-tu expliquer, en utilisant le contenu de ton fichier, ce que signifie:
"il faut exclure pour la combinaison 2 le chiffre qui se trouve en (AB1)"
et aussi "il faut exclure pour les sept combinaisons le ou les chiffres pour qui dans la ligne et les sept colonnes l'un des mots oui,non,peut être"
0
pyrus2047 Messages postés 153 Date d'inscription   Statut Membre Dernière intervention  
 
A1=1; A1=2; A1=3; A1=4; A1=5: A1=6; A1=7; A1=8; A1=9; A1=10

il faut exclure pour la combinaison 1 ce qui se trouve en (AA1)
il faut exclure pour la combinaison 2 ce qui se trouve en (AB1)
il faut exclure pour la combinaison 3 ce qui se trouve en (AC1)
il faut exclure pour la combinaison 4 ce qui se trouve en (AD1)
il faut exclure pour la combinaison 5 ce qui se trouve en (AE1)
il faut exclure pour la combinaison 6 ce qui se trouve en (AD1)
il faut exclure pour la combinaison 7 ce qui se trouve en (AF1)

pour la deuxième condition
par exemple :
pour que 1 qui se trouve en A1 sois exclu dans la combinaison 1 dans la plage (C14:I14)
il faut que la cellule C1 ne contienne pas l'un de mots : oui , non , peut-être

COMBINAISON1- 10 2 6 5 9 4 8 ici les deux conditions sont remplies ! Donc 1 et 3 sont excluents

COMBINAISON2- 1 10 7 2 8 6 4 ici la premiere condition est remplie ! Donc 3 est exclu

COMBINAISON3- 7 5 4 3 1 2 10 ici la premiere condition est remplie ! Donc 8 est exclu

COMBINAISON4- 4 7 3 8 4 10 2 ici la premiere condition est remplie ! Donc 6 est exclu

COMBINAISON5- 2 3 9 7 6 5 1 ici la premiere condition est remplie ! Donc 10 est exclu

COMBINAISON6- 9 1 5 4 5 7 6 ici la premiere condition est remplie ! Donc 10 est exclu

COMBINAISON7- 5 8 2 1 7 3 9 ici les deux conditions sont remplies ! Donc 10 et 4 sont excluents

j’espère que je suis suffisamment explicite j'ai essaye de tout détailler dans le fichier
merci d'avance
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584 > pyrus2047 Messages postés 153 Date d'inscription   Statut Membre Dernière intervention  
 
pourquoi écris-tu "A1=2"?

que signifie "il faut exclure pour la combinaison 2 ce qui se trouve en (AB1)"? c'est quoi AB1?

pour la combinaison deux:
COMBINAISON2- 1 10 7 2 8 6 4

pourquoi écris-tu "la premiere condition est remplie"? et pourquoi "Donc 3 est exclu"?
0
Patrice33740 Messages postés 8561 Date d'inscription   Statut Membre Dernière intervention   1 780 > yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention  
 
Bonjour yg_be,

Tu n'y comprends rien ?
Je te rassure, moi aussi !
0
Utilisateur anonyme
 
Bonsoir
à l'instar de Patrice et d''yg_be (que je salue) je trouve tes explications très obscures.

En faisant abstraction des cellules, colonnes et des nombres romains... il me semble comprendre que ton besoin se résume à ça:
  • on dispose de 10 nombres
  • on enlève un nombre
  • on pioche au hasard une série sans doublon dans les 9 nombres restants


Si je vois juste, alors ce code (à adapter à tes cellules et tes colonnes...) devrait t'offrir une piste
Sub toto()
    Set pioche = New Collection 
    For i = 1 To 10 'là, en vrai, tu ajoutes tes cellules.
        pioche.Add (i)
    Next
    
    Dim valeurAExclure As Integer
    valeurAExclure = 3 'là, en vrai, tu choisis la cellule dont tu as besoin
    
    'on cherche la valeur à exclure
    For i = 1 To pioche.Count
        If pioche.Item(i) = valeurAExclure Then
            pioche.Remove (i) 'on enlève la valeur de la collection
            Exit For 'on quite le for
        End If
    Next
    
    'on dispose donc d'une pioche sans la valeur interdite.
    'maintenant on pioche dedans, 4 valeurs pour l'exemple
    Set tirage = New Collection
    Randomize
    Dim index As Integer
    
    For i = 1 To 4
        'on génère un index aléatoirement
        index = Int(pioche.Count * Rnd + 1)
        'on met la valeur correspondant à cet index dans le tirage
        tirage.Add (pioche.Item(index))
        'on enlève la valeur de la pioche pour ne pas la tirer une autre fois
        pioche.Remove (index)
    Next
    
End Sub

0
pyrus2047 Messages postés 153 Date d'inscription   Statut Membre Dernière intervention  
 
bonsoir
merci pour ton intervention
quant j'execute ta macro rien ne se passe ?
0
Utilisateur anonyme
 
Mets un point d'arrêt au début et exécute le en pas à pas.
Tu verras qu'il se passe des choses.
0
Patrice33740 Messages postés 8561 Date d'inscription   Statut Membre Dernière intervention   1 780
 
On recommence au début :
« je cherche a faire une macro excel qui me génère a partir d'une liste de dix chiffre de un a dix en(A1:A10)
sept combinaison aléatoire sans repetition du meme chiffre dans sept lignes »

Une fois traduit :
« je cherche à faire une macro Excel qui génère, à partir d'une liste de dix nombres de un à dix, situés en A1:A10,
sept combinaisons aléatoires, sans répétition du même nombre dans les sept lignes »


Tu ne précises pas combien de nombres composent les combinaisons !

Mais de toutes façons, s'il ne doit pas y avoir de répétition du même nombre dans les 7 combinaisons, avec seulement 10 nombres, ça ne peut être que des "combinaisons" d'un seul nombre, avec 2 nombres par combinaisons il y aurait obligatoirement une répétition à partir de la sixième combinaison : c'est mathématique !

0
Utilisateur anonyme
 
Ha oui, on peut le voir comme ça, moi j’ai pensé qu’il ne fallait de répétition à l’intérieur de séquences, mais que d’une séquence à l’autre on réutilise les mêmes nombres.
0
Patrice33740 Messages postés 8561 Date d'inscription   Statut Membre Dernière intervention   1 780
 
Dans ce cas il eût fallu écrire : « ... sans répétition du même nombre dans chaque ligne »
0
Utilisateur anonyme
 
Oui tout à fait. Dans tous les cas le besoin n’est pas clairement exprimé
0
pyrus2047 Messages postés 153 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour a tous
oui je confirme sans repetition dans chaque ligne de combinaisons
merci pour votre patience
cordialement
0
Utilisateur anonyme
 
Et donc tu as essayé mon code en pas à pas?
Mis un espion sur la collection tirage?
Ça te convient?
0

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

Posez votre question
cs_Le Pivert Messages postés 7904 Date d'inscription   Statut Contributeur Dernière intervention   729
 
Bonjour,

voilà un exemple:

https://www.cjoint.com/c/HAFpgIAouyQ

0
pyrus2047 Messages postés 153 Date d'inscription   Statut Membre Dernière intervention  
 
bonsoir
merci ces ca y a juste je souhaite la combinaison sois dans 7 colonnes et dans 10
0