Soustraction

ulrij Messages postés 2 Statut Membre -  
via55 Messages postés 14730 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour
Je souhaite faire ceci
cellule A1= stock de 100
cellule B1= Réassort de 50
Cellule C1 = total de A 1et B 1 soit 150 en stock

cellule D 1 = je soustrais 10 de la cellule C 1 = 140
cellule D 1= je soustrais 20 de la cellule C 1= 120

Mon problème... comment faire pour que la cellule D1 redevienne vierge à chaque fois, pour une nouvelle saisie qui viendra également incrémenter la sortie en C1

Merci par avance à ceux qui parviendront à comprendre mon souhait et à m'aider

1 réponse

via55 Messages postés 14730 Date d'inscription   Statut Membre Dernière intervention   2 750
 
Bonjour ulrij

Macro à mettre dans le worksheet de la feuille concernée (ALT + F11 pour ouvrir l'éditeur VBA puis double clic sur nom de la feuille dans l'arborescence puis copier et coller la macro dans la page blanche et refermer l'éditeur

Private Sub Worksheet_Change(ByVal Target As Range)
' verifie que c'est la valeur en D1 qui a changé
If Not Intersect(Target, Range("D1")) Is Nothing Then
'et si c'est le cas :
'effectue la soustraction et met le resultat en C1
Range("C1") = Range("C1").Value - Range("D1").Value
' Affiche 0 en D1
Range("D1") = 0
End If
End Sub


Cdlmnt
0
JvDo Messages postés 2012 Statut Membre 859
 
bonsoir, via55,

ne faudrait-il pas suspendre la gestion des évènements dans le if?

cordialement
0
via55 Messages postés 14730 Date d'inscription   Statut Membre Dernière intervention   2 750 > JvDo Messages postés 2012 Statut Membre
 
Bonsoir JvDo

Que veux tu dire ?
0
JvDo Messages postés 2012 Statut Membre 859
 
je parle de :

If Not Intersect(Target, Range("D1")) Is Nothing Then
Application.EnableEvents=False
Range("C1") = Range("C1").Value - Range("D1").Value
Range("D1") = 0
Application.EnableEvents=True
End If

pour éviter que la procédure ne s'appelle elle-même

cordialement
0
via55 Messages postés 14730 Date d'inscription   Statut Membre Dernière intervention   2 750 > JvDo Messages postés 2012 Statut Membre
 
Oui OK tu as raison

Cdlmnt
0