Combinaison répetter
Résolu
albinw
Messages postés
11
Statut
Membre
-
albinw Messages postés 11 Statut Membre -
albinw Messages postés 11 Statut Membre -
Bonjour, nouveau sur le forum, je suis un homme j'ai 41 ans, et j'ai un don pour vouloir trouver des problèmes aux quels je n'ai pas de solution, c'est pour cela que je m'adresse à vous.
voila ma question: comment trouver une combinaison de 3 et 4 chiffres qui ressorte le plus souvent d'après une plage de cellules don chaque ligne contient 5 chiffres.
merci pour vos réponses.
voila ma question: comment trouver une combinaison de 3 et 4 chiffres qui ressorte le plus souvent d'après une plage de cellules don chaque ligne contient 5 chiffres.
merci pour vos réponses.
A voir également:
- Combinaison répetter
- Combien de combinaison possible avec 3 chiffres - Forum Réseaux sociaux
- Tableau de combinaison loto 5/90 - Forum Logiciels
- Nombre de combinaisons possibles avec trois chiffres ✓ - Forum Programmation
- Combinaison de 5 dans 16 - Forum Programmation
- Combinaison de touche clavier - Guide
12 réponses
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.
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 ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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 ...
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
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!
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 .....
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.
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
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.
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
Je ne sais pas comment on envoie un fichier, si tu peut me décrire la marche à suivre.
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é ;)