Menu

Comment créer une suite de chiffre aléatoire avec deux condition [Résolu]

pyrus2047 67 Messages postés lundi 3 juillet 2017Date d'inscription 24 mai 2018 Dernière intervention - 27 janv. 2018 à 11:24 - Dernière réponse : pyrus2047 67 Messages postés lundi 3 juillet 2017Date d'inscription 24 mai 2018 Dernière intervention
- 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



Afficher la suite 

Votre réponse

29 réponses

Patrice33740 6847 Messages postés dimanche 13 juin 2010Date d'inscription 24 mai 2018 Dernière intervention - 27 janv. 2018 à 11:34
0
Utile
Bonjour,

Des chiffres ou des nombres ?
pyrus2047 67 Messages postés lundi 3 juillet 2017Date d'inscription 24 mai 2018 Dernière intervention - 27 janv. 2018 à 12:40
chiffre latin
1 2 3 4 5 6 7 8 9 10
Patrice33740 6847 Messages postés dimanche 13 juin 2010Date d'inscription 24 mai 2018 Dernière intervention - 27 janv. 2018 à 13:25
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 ?
pyrus2047 67 Messages postés lundi 3 juillet 2017Date d'inscription 24 mai 2018 Dernière intervention - 27 janv. 2018 à 13:43
oui au temps pour moi
tu vois une solution
Patrice33740 6847 Messages postés dimanche 13 juin 2010Date d'inscription 24 mai 2018 Dernière intervention - 27 janv. 2018 à 13:52
Tu confirmes bien que tu parles des chiffres, c'est a dire que nombre 10 empêche d'avoir le nombre 1 dans la même série.
pyrus2047 67 Messages postés lundi 3 juillet 2017Date d'inscription 24 mai 2018 Dernière intervention - 27 janv. 2018 à 14:00
non il peux y avoir l'un ou l'autre
1 commence ma liste et 10 la termine dans la plage (A1:A10)
Commenter la réponse de Patrice33740
Patrice33740 6847 Messages postés dimanche 13 juin 2010Date d'inscription 24 mai 2018 Dernière intervention - 27 janv. 2018 à 15:01
0
Utile
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

pyrus2047 67 Messages postés lundi 3 juillet 2017Date d'inscription 24 mai 2018 Dernière intervention - 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
yg_be 5611 Messages postés lundi 9 juin 2008Date d'inscriptionContributeurStatut 24 mai 2018 Dernière intervention > pyrus2047 67 Messages postés lundi 3 juillet 2017Date d'inscription 24 mai 2018 Dernière intervention - 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"?
Patrice33740 6847 Messages postés dimanche 13 juin 2010Date d'inscription 24 mai 2018 Dernière intervention > yg_be 5611 Messages postés lundi 9 juin 2008Date d'inscriptionContributeurStatut 24 mai 2018 Dernière intervention - 28 janv. 2018 à 19:33
Bonjour yg_be,

Tu n'y comprends rien ?
Je te rassure, moi aussi !
pyrus2047 67 Messages postés lundi 3 juillet 2017Date d'inscription 24 mai 2018 Dernière intervention - 28 janv. 2018 à 19:41
Re
désole
A1=1; A2=2; A3=3; A4=4; A5=5: A6=6; A7=7; A8=8; A9=9; A10=10
AB1 contient 3 donc ont l'exclu
regarde le fichier que je t''es joint pour
yg_be 5611 Messages postés lundi 9 juin 2008Date d'inscriptionContributeurStatut 24 mai 2018 Dernière intervention > pyrus2047 67 Messages postés lundi 3 juillet 2017Date d'inscription 24 mai 2018 Dernière intervention - 28 janv. 2018 à 22:38
c'est quoi AB1? pourquoi écris-tu qu'il contient 3?
Commenter la réponse de Patrice33740
Whismeril 11547 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 24 mai 2018 Dernière intervention - 28 janv. 2018 à 20:39
0
Utile
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

pyrus2047 67 Messages postés lundi 3 juillet 2017Date d'inscription 24 mai 2018 Dernière intervention - 28 janv. 2018 à 22:12
bonsoir
merci pour ton intervention
quant j'execute ta macro rien ne se passe ?
Whismeril 11547 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 24 mai 2018 Dernière intervention - 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.
Commenter la réponse de Whismeril
Patrice33740 6847 Messages postés dimanche 13 juin 2010Date d'inscription 24 mai 2018 Dernière intervention - Modifié par Patrice33740 le 28/01/2018 à 23:38
0
Utile
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 !

Cordialement
Patrice
Whismeril 11547 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 24 mai 2018 Dernière intervention - 29 janv. 2018 à 15:38
Oui tout à fait. Dans tous les cas le besoin n’est pas clairement exprimé
pyrus2047 67 Messages postés lundi 3 juillet 2017Date d'inscription 24 mai 2018 Dernière intervention - 29 janv. 2018 à 18:11
Bonjour a tous
oui je confirme sans repetition dans chaque ligne de combinaisons
merci pour votre patience
cordialement
Whismeril 11547 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 24 mai 2018 Dernière intervention - 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?
pyrus2047 67 Messages postés lundi 3 juillet 2017Date d'inscription 24 mai 2018 Dernière intervention - 29 janv. 2018 à 21:05
Je n y arrive pas !
Whismeril 11547 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 24 mai 2018 Dernière intervention - 29 janv. 2018 à 22:06
Commenter la réponse de Patrice33740
cs_Le Pivert 5148 Messages postés jeudi 13 septembre 2007Date d'inscriptionContributeurStatut 24 mai 2018 Dernière intervention - 31 janv. 2018 à 16:07
0
Utile
Bonjour,

voilà un exemple:

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

pyrus2047 67 Messages postés lundi 3 juillet 2017Date d'inscription 24 mai 2018 Dernière intervention - 31 janv. 2018 à 20:39
bonsoir
merci ces ca y a juste je souhaite la combinaison sois dans 7 colonnes et dans 10
Commenter la réponse de cs_Le Pivert