Trouver les cellules dont la somme fait X

Résolu
Reno -  
 Jazzman66 -
Bonjour,

J'ai une liste de montants de factures dans Excel (par ex 10) et mon client en paye certaines au hasard (par exemple 3).
Y a t il une fonction pour qu'Excel cherche les cellules dont la somme correspond au montant payé ?

A1: 100€
A2: 110€
A3: 120€
etc..
A10: 190€

B1: 420€
B2: Excel cherche quelle combinaison de somme de cellules (2 ou 3 ou 4 ou 5... jusqu'a 10 (somme totale)) donne 420€ => ici ca donne A2 + A3 + A10

Merci mille fois,
A voir également:

5 réponses

Raymond PENTIER Messages postés 58990 Date d'inscription   Statut Contributeur Dernière intervention   17 355
 
Non ! Il n'y a aucune fonction-miracle qui fasse ça.

On en a déjà discuté ici, sans trouver de solution.

C'est bien, la retraite ! Surtout aux Antilles ... :-)
Raymond
0
Nyctaclope Messages postés 5315 Date d'inscription   Statut Membre Dernière intervention   1 253
 
Bonsoir à tous deux

Salut Raymond, j'étais à peu près sûr de la réponse, mais j'attendais qu'un connaisseur confirme ..

Le plus simple est quand même d'exiger des clients qu'il mentionnent les références des factures réglées ..
Sinon, un logiciel de compta a souvent une fonction de "lettrage" qui résoud le problème ..

Sinon sous Excel il n'y a plus qu'à essayer la méthode "telle la brute" et d'essayer toutes les combinaisons, mais cela devient vite exponentiel !

Je suggère ici un algorithme d'essais successifs qui devrait gagner du temps :
- ranger toutes les factures ( du client concerné ) en ordre de montant ascendant
- prendre le montant le plus grand "A" de facture encore inférieur à la somme "S" à atteindre.
- lui ajouter la facture "B" la plus grande restante
- - si somme "S" non atteinte, ajouter à nouveau la plus grande restante "C", et ainsi de suite
- - si somme "S" dépassée, ajouter au contraire ( au lieu de "B" ) la facture "C" la plus grande inférieure à celle "B" essayée,

... et ainsi de suite jusqu'à ce qu'on arrive à "S" ..

- si aucune solution, recommencer tout à partir de "B" ..

Le principe est d'essayer dans l'ordre les montants les plus grands dont on dispose ..
Jusqu'à 5 ou 6 factures, c'est faisable ...

Il reste à mettre cela en pratique :
- soit en jonglant avec des copies de cellules en colonnes et en entrant en dessous une fonction Somme() pour tester ..
- soit en réalisant cela avec Visual Basic, mais c'est une autre affaire ..

Espérant avoir un peu "poussé" le schmilblick dans la bonne direction ..

A+
Nyctaclope
0
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
Bonjour,

Une solution que j'avais proposé ici

eric
0
jazzman66
 
Bonjour Eric, j'ai actuellement exactement le même besoin que Reno.
Accepterais tu de me donner lle mot de passe pour tester et utiliser ton programme?
Je dois dépatouiller ma femme qui galère à réaliser ces rapprochement à son taff.
Merci par avance de ton retour
0
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
Bonjour,

Je vais bientôt supprimer ce mot de passe mais pour l'instant cijoint.fr est dans les choux...
Pour quand le site ira mieux le pw du fichier est: SBgWE"&+:%

eric
0
Jazzman66
 
Merci beaucoup Éric, je vais regarder ça dés ce soir. A bientôt pour des news
0
Reno
 
Eriiiic, t'es l'meilleur !

bravo.
c'est nickel d'efficacité.

Merci mille fois.
0
jazzman66
 
Bonjour Eric, j'ai le même besoin que toi. Je viens de solliciter Eric pour obtenir son mot de passe etester et utiliser ton programme.
Je dois dépatouiller ma femme qui galère à réaliser ces rapprochement à son taff.
Si jamais Eric n'est plus insrit sur le site, pourrais tu me communiquer ce mot de passe s'il te plait.
Dans tous les cas, je le remercierai chaleureusement.
Merci par avance de ton retour
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Reno
 
Salut Nyctaclope,

merci de ta contribution detaillée et ingénueuse.
regarde le lien proposé par Eriiiic et tu verras que ca marche au poil.

c'est trop fort.

Bonne journee à tous,
reno
0