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
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.

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
Bonjour.

J'ai un peu de mal à comprendre. Alors envoie un fichier-exemple, en ajoutant à la main les résultats qu'excel devrait trouver.
0
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:51
Bonjour Raymond, merci de ton intérêt.
Je ne sais pas comment on envoie un fichier, si tu peut me décrire la marche à suivre.
0
Ricky38 Messages postés 4349 Date d'inscription samedi 15 mars 2008 Statut Contributeur Dernière intervention 2 novembre 2013 1 459
3 août 2012 à 14:53
Salut,


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é ;)
0
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
0
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
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 ?
0
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
voici un exemple qui devrait être plus claire, je l'espère.
https://www.cjoint.com/?BHdqHOehGLv
0

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
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 ...
0
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
Merci de ton intérêt Raymond,je vais continuer à creuser,creuser....
0
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
bonjour à tous les deux

si tu pouvais envoyer ton fichier au format excel 2003 (fichier/enregistrer sous/ etc ...)

bonne suite
0
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
Tiens, vieux frère : https://www.cjoint.com/?BHepbeqzTH1
0
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
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 :
=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!
0
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
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 .....
0
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
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å
0
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
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.
0
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
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
0
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
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.
0
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
cette fois c'est la bonne https://www.cjoint.com/c/CHnwfrnUM4u
0
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
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
0
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
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 .
0
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
merci ccm81 ton prog fonctionne nickel,c est exactement ce que je voulais.
0