Algorithme : toutes les combinaisons possibles dans un tableau de 2 par 7
Résolu
Hamster18
Messages postés
176
Date d'inscription
Statut
Membre
Dernière intervention
-
ccm81 Messages postés 10909 Date d'inscription Statut Membre Dernière intervention -
ccm81 Messages postés 10909 Date d'inscription Statut Membre Dernière intervention -

Bonjour à tous; avant de me lancer dans la programmation de ma macro excel j'ai voulu me faire l'algorithme du code car je voyais pas comment le faire mais je tourne en rond...
J'essaye de tester toutes les combinaisons possibles enfin de trouver celle qui s'approche le plus de ma valeur cible, mais j'ai je ne vois pas comment faire.
Voici mon problème :
Vous avez un tableau comme sur l'image.
Ma valeur cible est 180 (mais la valeur cible peut changer)
En sommant qu'une valeur sur chaque colonne (que ce soit sur la ligne 28 ou la ligne 29) et en ajoutant 179.667 (valeur qui est modifiable) nous devons arriver le plus proche possible de 180.
Ne voyant mais de formule mathématique pour résoudre mon problème, j'ai décidé de tester toutes les solutions possibles.
Voici le début de l'algorithme que j'ai fait mais il n'est pas très concluant ....
Sub trouverCible()
'valeurCible
'valInter
'valTrouver
'valTrouverAnc = 100000
'valAjouter = 179.667
'Pour prend i = 28 à 29 (permet de dire les numéros de ligne à traiter dans excel)
'Pour j = 2 allant à 8 (permet de dire les numéros de colonne à traiter dans excel)
'Pour k = 0 a 1
'i = i - k
'valInter = Cellls(i,j)
'valTrouver = valTrouver + valInter
'Fin Pour
'Fin Pour
'Si (valTrouverAnc +valAjouter ) - valCible>(valTrouver+valAjouter )- valCible
'valTrouverAnc=valTrouver
'Fin si
'Fin Pour
Fin
Je pensais utiliser du récursif pour résoudre mon problème mais je vois pas comment l’utiliser ...
Merci d'avance pour votre aide.
J'espère que j'aurais été claire.
Merci d'avance de votre aide.
Cordialement.
A voir également:
- Algorithme euromillion excel gratuit
- Word et excel gratuit - Guide
- Liste déroulante excel - Guide
- Photofiltre 7 gratuit - Télécharger - Retouche d'image
- Clé d'activation windows 10 gratuit - Guide
- Montage video gratuit windows - Guide
5 réponses
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
bonjour,
en laissant la récursivité de coté, puisqu'elle ne t'inspire pas, je pense à ces approches:
1) comment ferais-tu à la main, comment t'organiserais-tu pour compter toutes les sommes et trouver la meilleure? tu peux ensuite programmer cela
2) tu dois calculer 128 sommes. tu pourrais donc faire une boucle avec un indice allant de 1 à 127, et, utiliser l'indice pour calculer pour chaque colonne, quelle ligne utiliser.
3) imbriquer sept boucles, ce qui t'inspirera peut-être ensuite une approche récursive
en laissant la récursivité de coté, puisqu'elle ne t'inspire pas, je pense à ces approches:
1) comment ferais-tu à la main, comment t'organiserais-tu pour compter toutes les sommes et trouver la meilleure? tu peux ensuite programmer cela
2) tu dois calculer 128 sommes. tu pourrais donc faire une boucle avec un indice allant de 1 à 127, et, utiliser l'indice pour calculer pour chaque colonne, quelle ligne utiliser.
3) imbriquer sept boucles, ce qui t'inspirera peut-être ensuite une approche récursive