Créer des combinaisons
Résolu26 réponses
Problématique centrale : identifier des combinaisons de 2 à 8 chiffres par colonne qui soient identiques ou quasi-identiques entre plusieurs colonnes disposées dans des tableaux à 6, 8 colonnes ou plus. Des propositions pratiques s'appuient sur Excel et des macros VBA pour comparer des matrices et extraire les combinaisons identiques ou quasi-identiques entre colonnes, en précisant les bornes et les plages de départ et d'arrivée. En cas d'évolution des données, il est possible d'automatiser l'actualisation des résultats via un bouton ou un déclencheur, mais cela nécessite une définition précise des quasi-identités et des tests sur des jeux de données.
-
SI !
Une fois copier coller les matrices en Feuil1 la 1ere de 160 nombres et la 2eme de 64tu ne sélectionnes rien du tout mais tu appuies sur le bouton pour lancer la macro, le petit sablier s'affiche pendant le traitement par la macro puis la feuille 5 avec les résultats s'affiche
Tu peux procéder de la même manière avec les matrices en Feuille 2 dont les résultats seront retournés en Feuille 6
-
Là j'ai essayé de suivre tes recommandations, après avoir copier et coller puis appuyer sur le bouton identique, ca me donne les résultats des nouvelles données de la première colonne sans la colonne des inverses, confère la capture d'écran ci-dessous :
https://www.cjoint.com/c/LFEt5nwkuzZ -
Ah d'accord donc après avoir copier et coller les matrices, le bouton lance automatiquement les résultats ? Donc j'ai pas besoin d'appuyer décu ?
-
Re,
Lequel des fichiers que je t'ai envoyé utilise tu pour cela ? selon les fichiers les macros sont différentes et vont dans les 2 sens ou non ?
Renvoie moi le fichier dont tu te sers que je vois
Ensuite oui tu remplaces le nombres des matrices par d'autres dans la feuille de départ celle avec le bouton, (tu peux faire un copier-coller)
Ensuite le bouton lance la macro qui remplit l'autre feuille avec les identiques et qui se positionne sur cette feuille quand c'est fait
-
Ok d'accord merci infiniment pour toutes ces orientations !
https://www.cjoint.com/c/LFEtMv2cqHZ
C'est plus particulièrement dans les matrices de la feuil1 et résultats de la feuil5. Après avoir copier et coller les matrices, je sélectionne les deux matrices ensemble puis j'appuie le bouton identiques -
Bonjour Via55, j'espère que tu vas bien ! Je te remercie infiniment pour le grand service que tu m'as rendue la dernière fois. Après un mois d'études et d'analyses, les résultats y sont probant, au moins 60% des résultats escomptés à ma recherche. Pour en arriver au 90% dont je me suis fixé, il a fallue que je réadapte l'ensemble des matrices en y rajoutant des nouveaux critères. Du coups j'aimerais savoir si tu peux m'aider de nouveau dans des jours à venir, tout dépendra de ta disponibilité s'il-te-plait.
-
-
Bonjour ok d'accord merci, c'est très clair
Donc mon problème se situe au niveau de la manipulation. Au début, j'ai mis en déssous puis après j'ai collé sur tes matrices, elles ont bien évidemment les meme dimensions. Ensuite, j'ai appuyé sur le bouton identiques que tu as crée et quand je suis allé vérifier les résultats dans la feuille suivante, ce sont toujours les résultats de tes matrices qui sont sortis mais sans les inverses.
Par conséquent, peut-etre essayer de bien m'expliquer la procédure de manipulation jusqu'à l'obtention des résultats.
1)- Je copie les différentes matrices de chaque feuilles à partir des entetes, puis je les colles directement sur la matrices que tu as codé ?
2)- Après avoir copier et coller, j'appuie où pour avoir automatiquement les résultats ?
Essayez de bien m'expliquer svp car c'est la procédure de manipulation mon vrai soucis en fait -
1) Si les matrices ont la même taille en largeur et hauteur que dans mes fichiers il n'y doit pas y avoir d''erreur
2) toutes les matrices d'une feuille doivent être de même hauteur
3) Les matrices doivent être sur les même lignes côte à côte et non les unes en dessous des autres
Pour faire des adaptations si pas mêmes tailles ou dispositions il faut aller modifier dans la macro identiques les valeurs des variables
par ex pour la ligne de début de matrice et la ligne de fin c'est au début de la macro les variables lignedeb et lignefin
Sub identiques()
lf = 1
lignedeb = 4 'première ligne des tableaux
lignefin = 18 ' dernière ligne des tableaux
Ici dans mon fichier les matrices commencent toutes en ligne 4 et finissent toutes en ligne 18, si les tiennes finissaient par ex en ligne 20 il suffit de remplacer le 18 par 20
Pour les matrices elles mêmes il est indiqué pour chacune d'elles dans la macro la colonne de début et la colonne de fin, ex :
' matrice1
coldeb = 1 '1ere colonne
colfin = 10 ' dernière colonne
matretour = "Matrice 1"
GoSub resultats
' matrice2
coldeb = 12
colfin = 24
matretour = "Matrice 2"
GoSub resultats
Ici la matrice 1 va de la colonne 1 à la colonne 10 du tableur (donc de A à J) et al matrice 2 de la colonne 12 à la colonne 24 (L à J)
Là encore si tes matrices ne recouvrent pas les mêmes colonnes il te suffit de changer les valeurs des variables coldeb et colfin
-
Via55, vraiment te fache pas stp, mais je suis encore confronté à une petite difficulté lors du traitement des données. En fait plus que j'ai déjà des matrices toutes faites, quand j'éssaie de les copier et de les coller sur les tableaux des cellules excel que tu as codé et quand j'appuie sur le bouton identiques que tu as crée, ca met erreur. Donc la question que je me pose, est-ce-que je peux simplement copier les données de mes matrices puis les coller sur les tableaux des classeurs que tu as codé afin d'obtenir directement les résultats ?
-
J'ai un peu l’impression que tu m'as pris pour ton boy ! N'oublie pas que nous sommes tous des bénévoles ici.
Quoiqu'il en soit te sentant dépassé et les modifications étant minimes, : valeur des lignes et colonnes en tête de macros (variables bien identifiées lignedeb, lignefin etc), nom de la feuille de retour des résultats dans les macros, puis dans feuilles mise sur la même ligne des matrice, mise en place du bouton lançant la macro et création des feuilles de retours je t'ai préparé tout ça :
https://www.cjoint.com/c/LFDnYtAkDAJ
et https://www.cjoint.com/c/LFDnZCL5CuJ
Cdlmnt
Via
-
Non ne vois pas les choses ainsi stp, mais surtout désolé si c'est l'impression que je te donne.
Dans tous les cas, tu as parfaitement raison car malgré tes occupations, tu m'a accordé ton attention et ton temps. Dieu te bénisse mon frère, tu as fait avancé mes travaux de beaucoup. Désolé encore d'avoir un peu abusé -
@MACK1991Ok, bonne continuation ☺
-
-
Voici les trois matrices à traiter normalement : 4, 10 et 12 colones. Il y'a deux traitement à faire, les identiques entre les matrices 1 et 2 d'un coté et les matrices 2 et 3 de l'autre.
https://www.cjoint.com/c/LFDmtEKUXg1 -
Voici les deux matrices à 10 et 12 colonnes :
https://www.cjoint.com/c/LFDlpPdiIY1 -
Oui si les matrices sont les mêmes en taille et emplacement
Sinon il faut juste modifier les valeurs dans la macro Identiques des lignes de début et de fin des matrices et poru chacune des 4 matrice des colonnes de début et de finSub identiques()
lf = 1
lignedeb = 4 'première ligne de stableaux
lignefin = 18 ' dernière ligne des tableaux
Sheets("Feuil5").Range("A2:B1000").ClearContents ' efface la feuille3
' matrice1
coldeb = 1 '1ere colonne
colfin = 5 ' dernière colonne
matretour = "Matrice 1"
GoSub resultats
' matrice2
coldeb = 8
colfin = 12
matretour = "Matrice 2"
GoSub resultats
' matrice3
coldeb = 15
colfin = 17
matretour = "Matrice 3"
GoSub resultats
' matrice4
coldeb = 20
colfin = 27
matretour = "Matrice 4"
GoSub resultats
Pour l'instant par exemple la ligne de début est 4 et celle de in 18 et pour la matrice 3 la colonne de début est la 15 et celle de fin la 17
-
C'est tout à fait ce que je cherchais ! Maintenant comment devrais-je les reproduire moi-meme, est-ce-que ces nouveaux classeurs sont automatiques ? De tel sortes que lorsque j'introduirais des nouvelles données, ca me ressortira automatiquement des nouveaux résultats ?
Si non, peux-tu m'avoir des classeurs automatiques, car c'est comme je disais, je ne maitrise pas le logiciel excel, donc s'il faille introduire des formules en VBA pour avoir les résultats escomptés à chaque fois, ce n'est pas trop mon fort -
Voilà avec comparaison dans les deux sens d'une matrice :
https://www.cjoint.com/c/LFCw4SR0uxJ -
Re,
https://www.cjoint.com/c/LFCtmcllrQJ
Nouvelle version : toutes les combinaisons identiques de 2 à 4 des 4 matrices sont relevées à la suite en colonne A de la feuille 5 puis triées par ordre alphabétique
Ensuite la macro insère en colonne B une formule permettant de relever les inverses grâce à la fonction personnalisée permute que j'ai créée dans le module 3 de l'éditeur VBA
Pour l'instant apparemment ce sont les même doublons , triplons ou quadruplons car ce sont ceux pris en descendant et ceux pris en montant, mais on peut imaginer une colonne qui aurait par exemple (15,4) en descendant et une autre (4,15) en descendant dont (15,4) en montant, mais est ce utile de comparer dans les 2 sens?
Non en fait je viens de dire un bêtise si une matrice a (15,4) dans une colonne et (4,15) dans une autre, la macro qui relève les doublons entre les colonnes en descendant et les doublons entre les colonnes en montant ne relèvera rien ! Est ce un cas à prévoir ??
De même (15,4) dans une seule colonne d'une matrice et dans une seule colonne d'une autre ne sera pas relevé car macro traite matrice par matrice et non matrices confondues
-
Merci infiniment ! c'est très clair déjà... C'est carrément ce que j'ai toujours chercher à faire depuis plusieurs mois, et là en quelques heures, tu viens de me déquenter la situation. Ainsi j'arrive facilement à répérer les nombres ayant plus de probabilités d'etre à l'arrivé et qui sont très proches les uns des autres. Merci beaucoup, maintenant si cette option est faisable vas-y : " mais on peut imaginer une colonne qui aurait par exemple (15,4) en descendant et une autre (4,15) en descendant dont (15,4) en montant, mais est ce utile de comparer dans les 2 sens?". Ce serrait peut-etre un plus
-
Là tu as carrément fait ce dont j'avais besoin de A à z, c'est carrément ca, rien à dire ! Je viens tout juste de bien analyser les résultats obtenues. Donc au final, pas besoin de comparer les colonnes A et B, ca ne servira à rien car ce sont les memes données en inverses. Là j'arrive très bien à analyser mes données ainsi, j'arrive maintenant facilement à retrouver les nombres proches les uns des autres, ayant plus de chances de faire l'arrivée. C'est ce que je recherchais depuis fort longtemps. Merci infiniment que Dieu te bénisse davantage
Là maintenant le plus difficile c'est de le reproduire dorénavant moi-meme avec d'autres données. Essayez un peu de m'expliquer svp, comme ca je verrai comment compléter les explications avec des tutoriels ciblés en VBA
-
-
Voilà ton fichier en retour avec 2 macros, l'une qui ressort pour les 4 matrices tous les identiques entre 2 et 4 à la suite, l'autre qui ressort les quasi identiques de la matrice choisie selon la combinaison et le nombre de différents choisis
https://www.cjoint.com/c/LFCbFIiPCDJ
Les macros sont lancées par les boutons en Feuil2
Faire ALT+F11 pour ouvrir l'éditeur VBA et aller dans Module 1 et Module2 pour voir le code commenté des macros
-
Encore merci ! J'ai pu analyser les résultats obtenus, apparemment juste les identiques me suffisent. Tu penses que c'est possible de classer les identiques de l'ensemble des quatre matrices en groupes ? C'est-à-dire prendre tous les résultats de l'ensemble des matrices et les classer en groupes identiques.
Exemple : (15,4), (4,15), (15,4), (4,15)
(6,2), (6,2), (2,6), (6,2)...
(15,10), (15,10) (10,15) etc.
-
-
Ok ! Les combinaisons quasi-identiques de 2 à 3 nombres doivent avoir un nombre différent. Exemple :
En 2 : (10,15); (10,3); (10,8)...
En 3 : (4,1,13); (4,9,1); (4,15,1)...
Les combinaisons quasi-identiques de 4, 5 et 6 nombres doivent avoir un à deux nombres différents. Exemples :
Pour 1 nombre différent en 4 : (4,1,13,2); (4,9,1,2); (4,1,10,13)...
Pour 2 nombres différents en 4 : (4,1,13,2); (4,13,10,9)...
Ainsi de suite pour les combinaisons en 5 et 6 nombres si possible, là maintenant c'est à toi de voir s'il serait possible de le faire automatiquement à partir de tes recommandations. Pour le moment ce ne sont juste que des hypothèses que j'émets. J'ai pu retrouver ces combinaisons en 2,3 et 4 nombres grace à la mise en forme conditionnelle des couleurs sur mes tableaux. -
Je ne comprend pas pour les quasi identiques les premiers nombres doivent se suivre dans l'ordre ?
par ex pour une combinaison à 4 nombres 1,2,3,5 et 1,2,7,3 serait quasi identique mais pas 1,2,3,5 et 1,3,2,7 ?
et pour une combinaison à 5 cela donnerait quoi ?
idem pour 6 ?
il faut être plus précis, donne des exemples pour chaque cas des "combinaisons en 4, 5 et 6 qui ont des différences d'un ou deux numéros "
-
Pour les quasi-identiques, on doit simplement se référer aux combinaisons en 4, 5 et 6 chiffres qui ont des différences d'un ou deux numéros et des combinaisons en 3 chiffres qui ont des différences dun seul numéro.
-
Voici les tableaux modifier car il y'avait une erreur sur l'un des autres :
https://www.cjoint.com/c/LFBsVfKu5XK -
Ok pour le fichier
Chaque matrice est à traiter à part ?
Pourquoi la 1ere ligne de Matrice 3 ne contient pas nombre mais Différence ?
J'attends la liste exhaustive des quasi identiques
- 1
- 2