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

Résolu/Fermé
pyrus2047 Messages postés 153 Date d'inscription lundi 3 juillet 2017 Statut Membre Dernière intervention 22 mai 2023 - 27 janv. 2018 à 11:24
pyrus2047 Messages postés 153 Date d'inscription lundi 3 juillet 2017 Statut Membre Dernière intervention 22 mai 2023 - 31 janv. 2018 à 20:39
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 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 779
27 janv. 2018 à 11:34
Bonjour,

Des chiffres ou des nombres ?
0
pyrus2047 Messages postés 153 Date d'inscription lundi 3 juillet 2017 Statut Membre Dernière intervention 22 mai 2023
27 janv. 2018 à 11:45
re
des chiffre
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 779
27 janv. 2018 à 12:31
Lesquels emploies-tu ?
Chiffres romains, arabes, hexadécimaux ?
0
pyrus2047 Messages postés 153 Date d'inscription lundi 3 juillet 2017 Statut Membre Dernière intervention 22 mai 2023
27 janv. 2018 à 12:40
chiffre latin
1 2 3 4 5 6 7 8 9 10
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 779
Modifié le 27 janv. 2018 à 13:27
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 lundi 3 juillet 2017 Statut Membre Dernière intervention 22 mai 2023
27 janv. 2018 à 13:43
oui au temps pour moi
tu vois une solution
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 779
27 janv. 2018 à 15:01
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 lundi 3 juillet 2017 Statut Membre Dernière intervention 22 mai 2023
28 janv. 2018 à 13:23
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 23336 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 18 novembre 2024 1 551 > pyrus2047 Messages postés 153 Date d'inscription lundi 3 juillet 2017 Statut Membre Dernière intervention 22 mai 2023
28 janv. 2018 à 14:31
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 lundi 3 juillet 2017 Statut Membre Dernière intervention 22 mai 2023
28 janv. 2018 à 16:00
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 23336 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 18 novembre 2024 1 551 > pyrus2047 Messages postés 153 Date d'inscription lundi 3 juillet 2017 Statut Membre Dernière intervention 22 mai 2023
28 janv. 2018 à 17:37
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 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 779 > yg_be Messages postés 23336 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 18 novembre 2024
28 janv. 2018 à 19:33
Bonjour yg_be,

Tu n'y comprends rien ?
Je te rassure, moi aussi !
0
Utilisateur anonyme
28 janv. 2018 à 20:39
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 lundi 3 juillet 2017 Statut Membre Dernière intervention 22 mai 2023
28 janv. 2018 à 22:12
bonsoir
merci pour ton intervention
quant j'execute ta macro rien ne se passe ?
0
Utilisateur anonyme
28 janv. 2018 à 22:51
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 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 779
Modifié le 28 janv. 2018 à 23:38
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
29 janv. 2018 à 07:16
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 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 779
29 janv. 2018 à 15:35
Dans ce cas il eût fallu écrire : « ... sans répétition du même nombre dans chaque ligne »
0
Utilisateur anonyme
29 janv. 2018 à 15:38
Oui tout à fait. Dans tous les cas le besoin n’est pas clairement exprimé
0
pyrus2047 Messages postés 153 Date d'inscription lundi 3 juillet 2017 Statut Membre Dernière intervention 22 mai 2023
29 janv. 2018 à 18:11
Bonjour a tous
oui je confirme sans repetition dans chaque ligne de combinaisons
merci pour votre patience
cordialement
0
Utilisateur anonyme
29 janv. 2018 à 19:27
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 jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 14 août 2024 729
31 janv. 2018 à 16:07
Bonjour,

voilà un exemple:

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

0
pyrus2047 Messages postés 153 Date d'inscription lundi 3 juillet 2017 Statut Membre Dernière intervention 22 mai 2023
31 janv. 2018 à 20:39
bonsoir
merci ces ca y a juste je souhaite la combinaison sois dans 7 colonnes et dans 10
0