Combinaison répetter
Résolu/Fermé
albinw
Messages postés
10
Date d'inscription
vendredi 3 août 2012
Statut
Membre
Dernière intervention
17 août 2013
-
3 août 2012 à 14:14
albinw Messages postés 10 Date d'inscription vendredi 3 août 2012 Statut Membre Dernière intervention 17 août 2013 - 17 août 2013 à 08:12
albinw Messages postés 10 Date d'inscription vendredi 3 août 2012 Statut Membre Dernière intervention 17 août 2013 - 17 août 2013 à 08:12
A voir également:
- Combinaison répetter
- Nombre de combinaison possible avec 10 chiffres ✓ - Forum Programmation
- Tableau de combinaison loto - Forum Logiciels
- Combien de combinaison possible avec 3 chiffres - Forum Programmation
- Combinaison de 5 chiffres allant de 1 à 18 - Forum Mail
- Combien de combinaison possible avec 4 chiffres - Forum Programmation
12 réponses
Raymond PENTIER
Messages postés
58781
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
28 décembre 2024
17 257
3 août 2012 à 14:28
3 août 2012 à 14:28
Bonjour.
J'ai un peu de mal à comprendre. Alors envoie un fichier-exemple, en ajoutant à la main les résultats qu'excel devrait trouver.
J'ai un peu de mal à comprendre. Alors envoie un fichier-exemple, en ajoutant à la main les résultats qu'excel devrait trouver.
albinw
Messages postés
10
Date d'inscription
vendredi 3 août 2012
Statut
Membre
Dernière intervention
17 août 2013
3 août 2012 à 15:08
3 août 2012 à 15:08
voici le lien .https://www.cjoint.com/?BHdpfjJd6Hq
Raymond PENTIER
Messages postés
58781
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
28 décembre 2024
17 257
3 août 2012 à 15:34
3 août 2012 à 15:34
Tu n'as répondu qu'à la moitié de ma demande : tu as envoyé les données, mais aucun exemple de ce qu'on devrait obtenir.
Pour toi c'est certainement très clair, mais pour nous que faut-il entendre par "combinaison de 3 chiffres" ? Déjà ton tableau ne comporte pas que des chiffres (de 0 à 9) mais aussi des nombres (plus grands que 9).
Ensuite est-ce pour toi 15-1-13-11-9 est la même combinaison que 11-9-15-1-3 ? ou que 1-13-15-11-9 ? ou que 15-11-1-9-13 ?
Pour toi c'est certainement très clair, mais pour nous que faut-il entendre par "combinaison de 3 chiffres" ? Déjà ton tableau ne comporte pas que des chiffres (de 0 à 9) mais aussi des nombres (plus grands que 9).
Ensuite est-ce pour toi 15-1-13-11-9 est la même combinaison que 11-9-15-1-3 ? ou que 1-13-15-11-9 ? ou que 15-11-1-9-13 ?
albinw
Messages postés
10
Date d'inscription
vendredi 3 août 2012
Statut
Membre
Dernière intervention
17 août 2013
3 août 2012 à 16:36
3 août 2012 à 16:36
voici un exemple qui devrait être plus claire, je l'espère.
https://www.cjoint.com/?BHdqHOehGLv
https://www.cjoint.com/?BHdqHOehGLv
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Raymond PENTIER
Messages postés
58781
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
28 décembre 2024
17 257
3 août 2012 à 19:06
3 août 2012 à 19:06
Oui, c'est plus clair.
Il y a effectivement davantage de combinaisons quand les 3 nombres peuvent avoir n'importe quel ordre : j'estime qu'il faudrait procéder à plus de 3000 comparaisons !
Chaque ligne offre 8 combinaisons ; les 8 combinaisons de la ligne 1 doivent être comparées aux 27 autres lignes ; les 8 combinaisons de la ligne 2 doivent être comparées aux 26 lignes suivantes ; les 8 combinaisons de la ligne 3 doivent être comparées aux 25 lignes suivantes ; etc.
Et je n'ai pas trouvé la procédure qui permettrait de faire ces comparaisons automa-tiquement. Il y a certainement un moyen avec VBA ; alors attends qu'un spécialiste des macros t'en écrive une ...
Il y a effectivement davantage de combinaisons quand les 3 nombres peuvent avoir n'importe quel ordre : j'estime qu'il faudrait procéder à plus de 3000 comparaisons !
Chaque ligne offre 8 combinaisons ; les 8 combinaisons de la ligne 1 doivent être comparées aux 27 autres lignes ; les 8 combinaisons de la ligne 2 doivent être comparées aux 26 lignes suivantes ; les 8 combinaisons de la ligne 3 doivent être comparées aux 25 lignes suivantes ; etc.
Et je n'ai pas trouvé la procédure qui permettrait de faire ces comparaisons automa-tiquement. Il y a certainement un moyen avec VBA ; alors attends qu'un spécialiste des macros t'en écrive une ...
albinw
Messages postés
10
Date d'inscription
vendredi 3 août 2012
Statut
Membre
Dernière intervention
17 août 2013
3 août 2012 à 21:07
3 août 2012 à 21:07
Merci de ton intérêt Raymond,je vais continuer à creuser,creuser....
ccm81
Messages postés
10905
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
27 décembre 2024
2 428
4 août 2012 à 09:57
4 août 2012 à 09:57
bonjour à tous les deux
si tu pouvais envoyer ton fichier au format excel 2003 (fichier/enregistrer sous/ etc ...)
bonne suite
si tu pouvais envoyer ton fichier au format excel 2003 (fichier/enregistrer sous/ etc ...)
bonne suite
Raymond PENTIER
Messages postés
58781
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
28 décembre 2024
17 257
4 août 2012 à 15:01
4 août 2012 à 15:01
Tiens, vieux frère : https://www.cjoint.com/?BHepbeqzTH1
JvDo
Messages postés
1978
Date d'inscription
mercredi 27 juillet 2005
Statut
Membre
Dernière intervention
28 septembre 2020
858
Modifié par JvDo le 4/08/2012 à 15:38
Modifié par JvDo le 4/08/2012 à 15:38
Bonjour à tous,
Voici une solution qu'il faudra peut-être amender si les entiers dépassent 99.
Il s'agit de "binariser" chaque combinaison de 3 nombres parmi 5 en sommant les puissances de 2 élevées à la valeur des entiers de la combinaison.
Chaque combinaison aura donc une signature unique indépendante de l'ordre.
Ex : {10, 3, 7} donnera 2^10+2^3+2^7
Remarques : les combinaisons peuvent se présenter sous forme d'un tableau 3x10 où chaque colonne représente les indices utilisés pour faire la combinaison. Ainsi {1;4;5} est la combinaison comprenant le premier, le quatrième et le cinquième entier d'une ligne de données.
Dans la formule ci-dessous, la matrice est représentée en ligne, d'où la présence des "\" entre les accolades.
Les données soont en $C$7:$G$34.
Tu sélectionnes donc une zone de 10 colonnes (autant que de combinaisons)
sur autant de lignes qu'il y a de données (j'ai identifié cette zone par le nom signatures dans les formules) et tu saisis la formule matricielle :
Tu obtiens donc un tableau des signatures de toutes les combinaisons de 3 nombres .
Il suffit d'utiliser la fonction MODE() sur ce tableau des signatures pour obtenir celle qui se répète le plus souvent puis terminer par une extraction des puissances de 2 la composant.
Pour cette étape, je suis passé par les log en base 2 mais ça peut se faire autrement :
Je te laisse tester.
Cordialement
PS : https://www.cjoint.com/?BHepFgRE5i3
Dans cette feuille, il y a 2 façon de faire : une matricielle (tableau jaune) et une "simple" qui s'appuie sur le tableau des combinaisons.
PS bis : je suis en format américain, il faut donc remplacer les virgules par des points-virgules dans les formules!
Voici une solution qu'il faudra peut-être amender si les entiers dépassent 99.
Il s'agit de "binariser" chaque combinaison de 3 nombres parmi 5 en sommant les puissances de 2 élevées à la valeur des entiers de la combinaison.
Chaque combinaison aura donc une signature unique indépendante de l'ordre.
Ex : {10, 3, 7} donnera 2^10+2^3+2^7
Remarques : les combinaisons peuvent se présenter sous forme d'un tableau 3x10 où chaque colonne représente les indices utilisés pour faire la combinaison. Ainsi {1;4;5} est la combinaison comprenant le premier, le quatrième et le cinquième entier d'une ligne de données.
Dans la formule ci-dessous, la matrice est représentée en ligne, d'où la présence des "\" entre les accolades.
Les données soont en $C$7:$G$34.
Tu sélectionnes donc une zone de 10 colonnes (autant que de combinaisons)
sur autant de lignes qu'il y a de données (j'ai identifié cette zone par le nom signatures dans les formules) et tu saisis la formule matricielle :
=2^INDEX(DECALER($C$6,LIGNE(INDIRECT("1:"&LIGNES($C$7:$G$34))),0,1,5),{1\1\1\1\1\1\2\2\2\3})+2^INDEX(DECALER($C$6,LIGNE(INDIRECT("1:"&LIGNES($C$7:$G$34))),0,1,5),{2\2\2\3\3\4\3\3\4\4})+2^INDEX(DECALER($C$6,LIGNE(INDIRECT("1:"&LIGNES($C$7:$G$34))),0,1,5),{3\4\5\4\5\5\4\5\5\5})
Tu obtiens donc un tableau des signatures de toutes les combinaisons de 3 nombres .
Il suffit d'utiliser la fonction MODE() sur ce tableau des signatures pour obtenir celle qui se répète le plus souvent puis terminer par une extraction des puissances de 2 la composant.
Pour cette étape, je suis passé par les log en base 2 mais ça peut se faire autrement :
=ENT(LOG(MODE(signatures),2)) =ENT(LOG(MODE(signatures)-2^ENT(LOG(MODE(signatures),2)),2)) =ENT(LOG(MODE(signatures)-2^ENT(LOG(MODE(signatures),2))-2^ENT(LOG(MODE(signatures)-2^ENT(LOG(MODE(signatures),2)),2)),2))
Je te laisse tester.
Cordialement
PS : https://www.cjoint.com/?BHepFgRE5i3
Dans cette feuille, il y a 2 façon de faire : une matricielle (tableau jaune) et une "simple" qui s'appuie sur le tableau des combinaisons.
PS bis : je suis en format américain, il faut donc remplacer les virgules par des points-virgules dans les formules!
ccm81
Messages postés
10905
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
27 décembre 2024
2 428
4 août 2012 à 21:55
4 août 2012 à 21:55
une tentative en VBA mais qui permet de faire varier la taille p de la combinaison cherchée (un brin laborieuse et ..... sans garantie)
https://www.cjoint.com/?0HevXbFMx2A
> raymond
tu parles d'un cadeau .....
https://www.cjoint.com/?0HevXbFMx2A
> raymond
tu parles d'un cadeau .....
Mytå
Messages postés
2973
Date d'inscription
mardi 20 janvier 2009
Statut
Contributeur
Dernière intervention
20 décembre 2016
950
Modifié par Mytå le 4/08/2012 à 22:05
Modifié par Mytå le 4/08/2012 à 22:05
Salut le forum
CCM81, tu n'a pas encore installé le Pack de compatibilité Microsoft Office
pour ouvrir les fichiers des versions 2007-2012.
Mytå
CCM81, tu n'a pas encore installé le Pack de compatibilité Microsoft Office
pour ouvrir les fichiers des versions 2007-2012.
Mytå
albinw
Messages postés
10
Date d'inscription
vendredi 3 août 2012
Statut
Membre
Dernière intervention
17 août 2013
5 août 2012 à 21:05
5 août 2012 à 21:05
salut je vous remercie les deux solution ont l'air de fonctionner, je les teste cette semaine, j'ai plus le temps de le faire maintenant, en tous cas chapeau et encore merci.
ccm81
Messages postés
10905
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
27 décembre 2024
2 428
Modifié par ccm81 le 6/08/2012 à 12:08
Modifié par ccm81 le 6/08/2012 à 12:08
bonjour
Une tentative qui permet de faire varier le nombre de lignes et de colonnes de la BD, ainsi que la taille de la combinaison
https://www.cjoint.com/?0HglXWUTCWa
@Mytå.
Non, je n'ai pas installé la pack de compatibilité, je suis sous Vista qui n'est pas d'une stabilité à toute épreuve et je me méfie des patchs (non indispensables) de microsoft. De plus, je pense que le demandeur peut faire l'effort de convertir au format excel 2003.
Merci en tout cas de t'être penché sur mon cas
bonne suite
Une tentative qui permet de faire varier le nombre de lignes et de colonnes de la BD, ainsi que la taille de la combinaison
https://www.cjoint.com/?0HglXWUTCWa
@Mytå.
Non, je n'ai pas installé la pack de compatibilité, je suis sous Vista qui n'est pas d'une stabilité à toute épreuve et je me méfie des patchs (non indispensables) de microsoft. De plus, je pense que le demandeur peut faire l'effort de convertir au format excel 2003.
Merci en tout cas de t'être penché sur mon cas
bonne suite
albinw
Messages postés
10
Date d'inscription
vendredi 3 août 2012
Statut
Membre
Dernière intervention
17 août 2013
13 août 2013 à 21:57
13 août 2013 à 21:57
bonsoir, ccm81, je me tourne vers toi un an après, voilà !, je n'arrive pas a modifier le programme génial que tu ma fais(https://www.cjoint.com/?0HglXWUTCWa pas étonnant vu mon niveau en VBA . ce que j'aimerai ce serai de créer 20 colonnes max au lieu de 10 si cela est possible, quelle que soit ta réponse un grand merci d'avance.
albinw
Messages postés
10
Date d'inscription
vendredi 3 août 2012
Statut
Membre
Dernière intervention
17 août 2013
13 août 2013 à 22:06
13 août 2013 à 22:06
cette fois c'est la bonne https://www.cjoint.com/c/CHnwfrnUM4u
ccm81
Messages postés
10905
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
27 décembre 2024
2 428
15 août 2013 à 21:15
15 août 2013 à 21:15
Pas le temps de faire mieux en ce moment
Je me suis contenté de modifier la valeur de la constante cotc à 22 (au lieu de 12), j'ai inséré 10 colonnes dans la feuille avant la colonne OK et j'ai allongé la liste des valeurs de n (en F4)
Pas de test approfondi, et sans garantie!!!
https://www.cjoint.com/?3HpvhCczhew
Bonne fin de journée
Je me suis contenté de modifier la valeur de la constante cotc à 22 (au lieu de 12), j'ai inséré 10 colonnes dans la feuille avant la colonne OK et j'ai allongé la liste des valeurs de n (en F4)
Pas de test approfondi, et sans garantie!!!
https://www.cjoint.com/?3HpvhCczhew
Bonne fin de journée
albinw
Messages postés
10
Date d'inscription
vendredi 3 août 2012
Statut
Membre
Dernière intervention
17 août 2013
17 août 2013 à 08:12
17 août 2013 à 08:12
Bonjour ccm81, le programme fonctionne , un message d'erreur apparait une fois les combinaisons trouvées mais le résultat est la ,donc c'est pas gênant. merci pour ton aide et bon weekend .
albinw
Messages postés
10
Date d'inscription
vendredi 3 août 2012
Statut
Membre
Dernière intervention
17 août 2013
12 août 2012 à 17:24
12 août 2012 à 17:24
merci ccm81 ton prog fonctionne nickel,c est exactement ce que je voulais.
3 août 2012 à 14:51
Je ne sais pas comment on envoie un fichier, si tu peut me décrire la marche à suivre.
3 août 2012 à 14:53
tu vas sur le site https://www.cjoint.com/ et tu déposes ton fichier, ensuite tu colles ici le lien qu'il t'aura généré ;)