Construire un tableau excel de 5 colonnes en y retrouvant au
Résoluvia55 Messages postés 14495 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 7 novembre 2024 - 11 févr. 2024 à 22:09
- Construire un tableau excel de 5 colonnes en y retrouvant au
- Tableau croisé dynamique - Guide
- Déplacer une colonne excel - Guide
- Liste déroulante excel - Guide
- Classer par ordre alphabétique excel plusieurs colonnes - Guide
- Tableau ascii - Guide
5 réponses
Modifié le 8 févr. 2024 à 14:52
https://www.cjoint.com/c/NBinKujhLpG
https://www.cjoint.com/c/NBinMrUq7rG
j'ai fait une erreur On oublie les 5 cellules On créé le tableau avec simplement les nombres imposés
on doit retrouver dans le tableau toutes les combinaisons possibles pour retrouver au minimum 4 cellules ou 5 si c 'est possible Je sais ca fait beaucoup de ligne
milles excuses
8 févr. 2024 à 16:51
Bonjour
1) Entrer dans une feuille les 30 nombres choisis sur la 1ere ligne (de A1 à AD1)
2) Ouvrir l'éditeur VBA (Alt+ F11) - Insertion - Module puis copier -coller dans le module la macro ci-dessous puis fermer l'éditeur
Sub combi() x = 2 Application.ScreenUpdating = False For a = 1 To 26 For b = a + 1 To 27 For c = b + 1 To 28 For d = c + 1 To 29 For e = d + 1 To 30 x = x + 1 Range("A" & x) = Cells(1, a) & " " & Cells(1, b) & " " & Cells(1, c) & " " & Cells(1, d) & " " & Cells(1, e) Next Next Next Next Next Application.ScreenUpdating = True End Sub
3) Depuis la feuille avec le s30nombres lancer la macro combi (onglet Développeur du ruban) - Macros
La macro met quelques secondes pour s’exécuter puisqu'il y a 142 506 combinaisons de 5 chiffres pris parmi 30 possibles
Cdlmnt
Via
10 févr. 2024 à 14:23
bonjour
ca fonctionne tres bien mais ca met 20mn! c'est pas grave
3 5 6 24 1 2 4 7 8 9 10 11 13 14 15 17 18 20 23 26 27 34
soit 22 cellules
mon résultat résultat 6 13 23 24 34
mon algo est il bon:
Sub combi() x = 2 Application.ScreenUpdating = False For a = 1 To 22 For b = a + 1 To 19 For c = b + 1 To 20 For d = c + 1 To 21 For e = d + 1 To 22 x = x + 1 Range("A" & x) = Cells(1, a) & " " & Cells(1, b) & " " & Cells(1, c) & " " & Cells(1, d) & " " & Cells(1, e) Next Next Next Next Next Application.ScreenUpdating = True End Sub
Demande est-il possible de trier B-C-D-E-F automatiquement?
en extrayant 1 nombre par cellule B C D E F
est il possible de faire un tri sur les cellules B-C-D-E-F qui contiennent l'équivalent de P-Q-R-S-T D Et 4 Numéros de P-Q-R-S-T?
est il possible de supprimer toutes les cellules B-C-D-E-F qui sont incomplètes
d'avance merci
10 févr. 2024 à 15:55
Re,
1) non ton algo n'est pas bon à cause de la 1ere boucle qui devrait être :
For a = 1 To 18
puisqu'il faut laisser 4 numéros pour la dernière combinaison de 5 (comptant les n°S de rang 18,19,20, 21 et 22)
Ceci corrigé on obtient les 26 334 combinaisons possibles sans ligne incomplète !
2) ton ordi doit être sacrement encombré pour que ça prenne 20 mn chez toi alors que cela prend 4 secondes chez moi !
3) On peut faire afficher un nombre par cellule en remplaçant la ligne
Range("A" & x) = Cells(1, a) & " " & Cells(1, b) & " " & Cells(1, c) & " " & Cells(1, d) & " " & Cells(1, e)
par celles-ci :
Range("A" & x) = Cells(1, a) Range("B" & x) = Cells(1, b) Range("C" & x) = Cells(1, c) Range("D" & x) = Cells(1, d) Range("E" & x) = Cells(1, e)
mais attention cela multiplie le temps de traitement par 3
4) De quoi veux tu parler avec P Q R S T ? du "résultat" 6 13 23 24 34 ?
5) L'algo traite les nombres dans l'ordre où ils sont dans la première ligne, si tu veux des combinaisons triées par nombre il suffit au départ de rentrer les nombres de la première ligne dans l'ordre du plus petit au plus grand
11 févr. 2024 à 17:02
super ca marche tres bien
ca me sort avec 29 N° 120000 combinaisons! Par contre ça met 3 heures
Que puis je faire pour accélérer le processus?
Et maintenant dernière question P Q R S T en L3
Est on capable de savoir combien il y a de combinaison dans les résultats A B C D E qui comprennent au moins 3 Nombres dans P Q R S T 4 Nombres ou 5 Nombres Est possible?
avec tous mes remerciement
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question11 févr. 2024 à 22:09
Re,
1) avec 29 n°s cela fait 118 755 combinaisons de 5 n°s (29 x 28 x 27 x 26 x 25 / (5 x 4 x 3 x 2 x 1)
Pour les écrire dans la feuille la macro prends chez moi une minute !
Tu demandes que faire pour accélérer chez toi : faire tourner le programme sur un autre ordi que le tien qui rame comme pas possible apparemment (déjà le nettoyer, n'avoir aucun autre programme qui tourne en même temps, ne pas avoir dans le fichier Excel des feuilles avec des formules qui se recalculent à chaque fois et qui ralentissent...)
2) Dans mon fichier ci-joint j'ai d’ailleurs rajouté dans la macro pour 29 combi une ligne pour désactiver le calcul auto pour éviter ce problème de formules qui ralentissent
3) Pour comparer chaque combinaison avec la combinaison particulière entrée en L3, M3, N3, O3 et P3 j'ai rajouté des NB.SI dans la macro, le résultat s'affichant dans la colonne G
Il te suffira ensuite de filtrer le tableau sur la colonne G en ne conservant que les critères 3, 4 et 5
https://www.cjoint.com/c/NBlvjhjT2AQ
Cdlmnt
Via