Ajout de valeur automatique puis effacement

Résolu/Fermé
Signaler
Messages postés
36
Date d'inscription
vendredi 25 septembre 2015
Statut
Membre
Dernière intervention
26 mai 2016
-
Messages postés
36
Date d'inscription
vendredi 25 septembre 2015
Statut
Membre
Dernière intervention
26 mai 2016
-
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

Messages postés
10197
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
14 janvier 2022
2 275
Bonjour

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

Cdlmnt
0
Messages postés
36
Date d'inscription
vendredi 25 septembre 2015
Statut
Membre
Dernière intervention
26 mai 2016

Bonjour,

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

Cordialement.
0
Messages postés
10197
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
14 janvier 2022
2 275
Voilà
http://www.cjoint.com/c/EJbmR7MkJBT

Cdlmnt
0
Messages postés
36
Date d'inscription
vendredi 25 septembre 2015
Statut
Membre
Dernière intervention
26 mai 2016

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
Messages postés
10197
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
14 janvier 2022
2 275
Désolé, je n'ai pas envoyé le bon
http://www.cjoint.com/c/EJbnGvBXoqT

Cdlmnt
0
Messages postés
36
Date d'inscription
vendredi 25 septembre 2015
Statut
Membre
Dernière intervention
26 mai 2016

Résolue.

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

Encore merci.

Sujet à fermer vu sa facilité.
0
Messages postés
36
Date d'inscription
vendredi 25 septembre 2015
Statut
Membre
Dernière intervention
26 mai 2016

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
Messages postés
10197
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
14 janvier 2022
2 275
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
Messages postés
36
Date d'inscription
vendredi 25 septembre 2015
Statut
Membre
Dernière intervention
26 mai 2016

Merci c'est cool.

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