Formule pour dispatcher une somme

Résolu
Bonjour à vous et merci de me lire.
Logiciel Excel 2016.
Je cherche une formule pour dispatcher une somme d'argent en fonction des billets et monnaies en circulation.
Coupures à disposition :

CHF 1000.- CHF 200.- CHF 100.- CHF 50.- CHF 20.- CHF 10.- CHF 5.- CHF 2.- CHF 1.-
L'idée est que si j'ai par exemple la somme de CHF 4368.-
La somme (4368) se trouve (par exemple) dans la cellule E2
Les coupures viennent s'inscrire dans les cellules H2, H3, H4, H5, H6, H7, H8, H9, H10
et en H11 un Total (pour control).

La formule me calcule les coupures idéales à savoir :

4 x CHF 1000.-
1 x CHF 200.-
1 x CHF 100
1 x CHF 50.-
0 x CHF 20.-
1 x CHF 10.-
1 x CHF 5.-
1 x CHF 2.-
1 x CHF 1.-

Total : 4368.-

A vos claviers, le premier ou la première qui me trouve la solution aura toute ma reconnaissance, pour les autres un merci de vous être penché sur ma problématique.

2 réponses

  1. Bonjour,

    A tester

    A chaque changement de valeur en E2 le calcul se fait automatiquement
    https://www.cjoint.com/c/HKjhdMiouCu
    0
    1. Merci,

      petit soucis lorsque j'essai d'ouvrir le fichier une fenêtre vient disant "impossible d'ouvrir le fichier…….. format ou extension n'est pas valide"...
      0
    2. Re,

      Teste avec ce lien
      https://mon-partage.fr/f/BR4vMJoK/
      0
    3. Hello, super

      cela marche bien mais comment puis-je utiliser ça sur mon tableau qui contiens plusieurs lignes
      ligne1: 3340
      ligne 2 : 123
      ligne 4 : 456
      ligne X : 0
      ligne 60: 3456

      pour avoir un disptching par ligne?

      Merci
      0
    4. Re,

      Et bien commence par mettre un classeur exemple pour que je regarde
      0
    5. Cela sera plus simple en effet:

      https://mon-partage.fr/f/nNlZ7aj7/

      le tri se fait dans l'onglet Tri coupure.

      en bas on retrouve le total de chaque coupure nécessaire au tableau

      encore merci
      0
  2. Re,

    On peut même améliorer en remplaçant toute la macro par celle-ci pour le Total et pour afficher que les valeurs utilisées

    Private Sub Worksheet_Change(ByVal Target As Range)
    Dim i%, mem%, Total%
      If Not Application.Intersect(Target, Range("E2")) Is Nothing Then
        mem = Cells(2, 5).Value
        For i = 2 To 10
          Cells(i, 8).Value = Int(mem / Cells(i, 1).Value) & " x CHF " & Cells(i, 1)
            If Int(mem / Cells(i, 1).Value) = 0 Then
              Cells(i, 8).Font.Color = RGB(255, 255, 255)
            Else
              Cells(i, 8).Font.Color = RGB(0, 0, 0)
            End If
          Total = Total + (Int(mem / Cells(i, 1).Value) * Cells(i, 1).Value)
          mem = mem - (Int(mem / Cells(i, 1).Value) * Cells(i, 1).Value)
        Next i
        Cells(12, 8).Value = " Total : CHF " & Total
      End If
    End Sub
    0