Ajout de valeur automatique puis effacement

Résolu
Bonjour,

Je suis tout nouveau sur ce forum, donc tout d'abord, bonjour à tous.

J'expose mon problème :

Je souhaiterais faire un petit tableau (à ajouté sur une feuille existante) qui me permettrais de compter le nombre de billets que j'ai en caisse.

Tout simplement, avec 3 colonnes (Type de billets ou pièces) (Nombres de billets ou pièces) (Ajout)

Seul la case (Ajout) doit être à compléter.

Exemple sur la ligne "billet 50€ / nombre 3 / Ajout : "
Si je j'inscris 2 dans la colonne de droite (ajout) le résultat serait :
"billet 50€ / nombre 5 / Ajout : "

Donc le chiffre 2 s'ajoute pour faire un total de 5 billets de 50€ et le chiffre disparait directement après. Pareille pour enlever, si je met -4 alors ca en enlever 4.

Je veux aussi pouvoir intervenir sur l'argent total qui a dans ma caisse avec des simples calculs.

Merci d'avance.

7 réponses

  1. Bonjour

    Un petit exemple avec macro
    http://www.cjoint.com/c/EIzm0FyQfKi

    Cdlmnt
    0
    1. Bonjour,

      Merci pour la réponse mais le lien ne fonctionne plus.

      Cordialement.
      0
      1. Voilà
        http://www.cjoint.com/c/EJbmR7MkJBT

        Cdlmnt
        0
        1. Désolé, c'est pas du tout ce que je recherche.

          En gros :

          A1 (500 €) B1 (10) C1 (X)

          Ce que j'aimerais, c'est si je met par exemple "8" dans C1, dans B1 ça me mettrais 18 automatiquement, et C1 se remettrai vide. Donc si je met "-4" après, j'aurais 14 et encore C1 vide.

          Merci d'avance.

          Cordialement.
          0
      2. Désolé, je n'ai pas envoyé le bon
        http://www.cjoint.com/c/EJbnGvBXoqT

        Cdlmnt
        0
        1. Résolue.

          Super merci.
          J'ai d'autres choses à demander. Je les posterai plus tard.

          Encore merci.

          Sujet à fermer vu sa facilité.
          0
          1. Est-ce que quelqu'un peut me commenter chaque ligne pour que je puisse comprendre complétement ?

            Option Explicit
            'Mettre la plage des cellule qu'on veut automatiser et suppr.
            Const Ajout = "C2:C17"

            Dim nb As Long

            Private Sub Worksheet_Change(ByVal Target As Range)
            If Target.Count > 1 Then Exit Sub
            Application.EnableEvents = False
            If Not Intersect(Target, Range(Ajout)) Is Nothing Then
            Target.Offset(0, -1).Value = Target.Value + nb
            Target.Value = ""
            End If
            Application.EnableEvents = True
            End Sub

            Private Sub Worksheet_SelectionChange(ByVal Target As Range)
            If Target.Count > 1 Then Exit Sub
            If Not Intersect(Target, Range(Ajout)) Is Nothing Then
            nb = Target.Offset(0, -1).Value
            End If
            End Sub

            Merci d'avance !
            0
            1. Const Ajout = "C2:C16"    ' plage à traiter
              
              Dim nb As Long            ' variable golobale
              
              ' cette procedure est exécutée lorsqu'une cellule de la plage Ajout est modifiée
              Private Sub Worksheet_Change(ByVal Target As Range)
              ' Target est la cellule cible (selectionnée)
              ' si plus d'une cellule modifiée, on quitte
              If Target.Count > 1 Then Exit Sub
              ' n'autorise qu'une exécution de cette procedure
              Application.EnableEvents = False
              ' si la cellule selectionnée est dans la plage Ajout
              If Not Intersect(Target, Range(Ajout)) Is Nothing Then
                ' on ajoute à la cellule située 1 colonne avant et même ligne que target
                ' la valeur stockée dans nb puis on efface le contenu de target
                Target.Offset(0, -1).Value = Target.Value + nb
                Target.Value = ""
              End If
              Application.EnableEvents = True
              End Sub
              
              ' cette procedure recupere la valeur située 1 colonne avant et même ligne
              ' par rapport à la cellule sélectionnée
              Private Sub Worksheet_SelectionChange(ByVal Target As Range)
              ' si plus d'une cellule selectionnée, on quitte
              If Target.Count > 1 Then Exit Sub
              ' si la cellule selectionnée est dans la plage Ajout
              ' nb prend la valeur située 1 colonne avant et même ligne
              ' par rapport à la cellule sélectionnée
              If Not Intersect(Target, Range(Ajout)) Is Nothing Then
                nb = Target.Offset(0, -1).Value
              End If
              End Sub
              

              Bonne journée
              0
              1. Merci c'est cool.

                J'ai pas fini de vous embêter je crois.
                0