Soustraction
ulrij
Messages postés
2
Statut
Membre
-
via55 Messages postés 14730 Date d'inscription Statut Membre Dernière intervention -
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
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
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
Cdlmnt
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
ne faudrait-il pas suspendre la gestion des évènements dans le if?
cordialement
Que veux tu dire ?
If Not Intersect(Target, Range("D1")) Is Nothing ThenApplication.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
Cdlmnt