Quel formule utiliser ?

Fermé
fabri51 - 26 mars 2015 à 13:07
yclik Messages postés 3685 Date d'inscription vendredi 25 juillet 2014 Statut Membre Dernière intervention 22 octobre 2024 - 28 mars 2015 à 17:26
Bonjour, voici ma question.

J'ai une quantité initial en A1 (ex: 10), une quantité réel stockée en A2 (ex: 8) et une quantité prélevée en A3 a définir.

J'aimerai que lorsque je rentre une quantité prélevée en A3 par exemple 2 cela me fasse la soustraction en A2 donc 6 et que cette valeur reste pour la prochaine saisie. C'est à dire que si je tape à nouveau 3 en A3 cela donne 6 - 3 et pas a nouveau 8 - 3

Si quelqu'un peu m'aiguiller sur la formule ça serait sympa.
Merci d'avance.


A voir également:

1 réponse

yclik Messages postés 3685 Date d'inscription vendredi 25 juillet 2014 Statut Membre Dernière intervention 22 octobre 2024 1 510
Modifié par yclik le 28/03/2015 à 17:27
bonsoir
A priori impossible via une formule.
Une proposition de solution avec la macro ci dessous associée à un bouton ou un raccourci clavier.
Une fois la macro associé à un bouton, saisir la sortie de stock colonne "C" et valider par entrée.
Revenir sur la cellule et cliquer sur le bouton.

sub destockage
rem définition variables
dim document   as object
dim oSheet as object ''déclaration de la feuille 
dim macellule_source as Double 'déclaration valeur de la cellule de saisie
dim macellule_a_remplir as Double 'déclaration valeur de la cellule de destination
 
oSheet = ThisComponent.sheets.GetByName("feuille1") 'nom de la feuille utilisée 
 macellule_source = thisComponent.CurrentSelection.getvalue ' valeur de la cellule active
 row_macellule_source = thisComponent.CurrentSelection.RangeAddress.StartRow + 1 ' ligne de la cellule active
 adresse_macellule_a_remplir="B"&row_macellule_source 'adresses des mise à jour changer "B" si autre colonne 
 adresse_macellule_source="C"&row_macellule_source 'adresses des mise à jour changer "C" si autre colonne 
  
 macellule_a_remplir=oSheet.getCellRangeByName(adresse_macellule_a_remplir).getvalue ' valeur de départ
 macellule_a_remplir = macellule_a_remplir - macellule_source  'calcul stock restant avec les deux cellules
 oSheet.getCellRangeByName(adresse_macellule_a_remplir).Value = macellule_a_remplir ' ecriture stock restant dans la cellule a remplir
   macellule_source= 0  'purge cellule_source
   oSheet.getCellRangeByName( adresse_macellule_source).Value = macellule_source  ' ecriture 0 dans la cellule source
end sub
1