Ajout de valeur automatique puis effacement

Résolu
chostra55 Messages postés 38 Statut Membre -  
chostra55 Messages postés 38 Statut Membre -
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. ccm81 Messages postés 11033 Statut Membre 2 434
     
    Bonjour

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

    Cdlmnt
    0
  2. chostra55 Messages postés 38 Statut Membre
     
    Bonjour,

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

    Cordialement.
    0
  3. ccm81 Messages postés 11033 Statut Membre 2 434
     
    Voilà
    http://www.cjoint.com/c/EJbmR7MkJBT

    Cdlmnt
    0
    1. chostra55 Messages postés 38 Statut Membre
       
      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
  4. ccm81 Messages postés 11033 Statut Membre 2 434
     
    Désolé, je n'ai pas envoyé le bon
    http://www.cjoint.com/c/EJbnGvBXoqT

    Cdlmnt
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. chostra55 Messages postés 38 Statut Membre
     
    Résolue.

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

    Encore merci.

    Sujet à fermer vu sa facilité.
    0
  7. chostra55 Messages postés 38 Statut Membre
     
    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
  8. ccm81 Messages postés 11033 Statut Membre 2 434
     
    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. chostra55 Messages postés 38 Statut Membre
       
      Merci c'est cool.

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