-
1 pièce(s) jointe(s)
Probleme VBA Excel Somme
Bonjour
J'ai besoin d'aide sur une problématique en excel VBA avec des sommes
Voir exemple ci-joint
Dans une feuille excel figurent 2 colonnes (Data 1 et Data 2)
Dans la colonne Data 1 , il y a un montant (50)
Dans la colonne Data 2 , plusieurs nombres (9)
L'objectif c'est de faire matcher ce montant avec une somme de nombres en colonne Data 2
Ce que je souhaite obtenir :
Parmi les 9 nombres il faut trouver une combinaison de ces nombres qui, en les sommant , on obtient le montant en colonne Data 1.
La somme peut être une somme de 2 chiffres, 3 , 4, 5 voire plus...
Il faut donc un algorithme en vba qui permette de sommer, tel que la somme de n chiffres égalisent le montant en colonne Data 1
Lorsque la combinaison de chiffres en colonne Data 2 est trouvée, il faudrait marquer ces chiffres d'une couleur (rouge) : Dans l'exemple, on peut voir que la somme de 20, 5 et 25 fait 50 , ces chiffres ont donc été marqués en rouge. Ceci est un exemple, car ces chiffres (20, 5 et 25) auraient pu être dans un ordre différent dans la liste de la colonne Data 2
Voila j'espere avoir été clair, si vous avez d'autres question merci de me contacter
Vous trouverez ci-joint l'exemple simplifié de ce que je souhaite obtenir
Merci d'avance
DoVBnet
-
Bonjour,
En Data2 la somme 2+3+20+25 donne aussi 50. Quelle est la "bonne" combinaison?
-
Salut RJamin
Il n'y a pas de bonnes combinaisons... Peu importe l'ordre trouvé
La 1ère combinaison que tu trouves (par le calcul) est la bonne...
Une fois le montant trouvé, il sera remplacé par un autre montant à trouver , avec une combinaison de chiffres, parmi les chiffres restant dans la liste Data 2
Merci à toi
-
Autre précision :
En fait, l'idéal serait de voir toutes les combinaisons possibles
Je m'explique :
La couleur de base des chiffres en Data 2 est noire
Par exemple, si tu trouves une combinaison de 4 chiffres , il faut les marquer d'une autre couleur. Ensuite relancer le programme (sans traiter les chiffres qui sont marqués d'une autre couleur que noire) pour voir s'il existe une autre combinaison dont la somme est égale à 50
Combinaison 1 : 20, 5, 25
Combinaison 2 : 20, 3, 2, 25
Ensuite je choisirai la combinaison qui me convient, puis un autre montant sera à analyser en colonne Data1 (ligne suivante)
Exemple :
Data1
50
20
Data 2
20
2
6
5
4
3
25
Application:
Pour 50 ==> deux combinaisons possibles (vu ci dessus)
Pour 20 ==> Combinaison 1 (2 + 6 +5 + 4 + 3)
Combinaison 2 (20)
Cdt,
DoVBnet
-
Bonjour,
En regardant 1/4 d'heure et en paratnt toujours de 25 j'ai déjà 6 combinaisons
25____ 25____ 25____ 25____ 25____ 25
20____ 20_____ 9_____ 9____ 13____ 13
5_____ 3______ 6_____ 7_____ 9_____ 7
______ 2______ 5_____ 6_____ 3_____ 5
_______ ______ 3_____ 3_____
_______ ______ 2_____
Alors comment fait-on pour les couleurs ?
Sans compter que je n'ai pas encore réfléchit à Comment faire pour trouver les groupes et surtout à Comment Faire Faire à la machine.
-
Bonjour
Merci de prendre le temps d'y réfléchir
Pour les couleurs, on a peut être une dizaine de couleurs standard dans excel puis aussi le surlignage , italique , souligné, gras...
Par ailleurs, en pratique, je ne pense pas qu'il y aura besoin de plus de 3 ou 4 combinaisons à chaque fois, la couleur est donc gérable
Ce qui pose problème, c'est de trouver un algorithme qui permette de trouver les combinaisons (je pense à des boucles imbriquées) possibles ...
As tu une idée ?
merci
-
Bonjour,
Je ne vois vraiment pas la marche à suivre pour faire cela. Désolé.