afficher le resultat d'une soustraction dans une des cellules soustraites

fabian123

XLDnaute Occasionnel
Bonjour à toutes et tous,

voilà, sur vba excel, dans l'evenement click d'un command button, est-il possible de faire la chose suivante:


j'ai une colonne (A) contenant des valeurs entières (5, 10, 22, 31...)
dans ma colonne (B), idem (2, 7, 18...)

je souhaiterais, en appuyant sur le command button de mon formulaire que les cellules de la colonnes B soient déduites de ma colonne A et que le résultat soit affiché dans la colonne A...

exemple:
A B
1 12 2
2 10 1
3 11 3
4 5 4
5 25 2


et après avoir cliqué dans le formulaire, nous aurions:

A B
1 10 2
2 9 1
3 8 3
4 1 4
5 23 2


Merci pour votre aide!
 

fabian123

XLDnaute Occasionnel
Re : afficher le resultat d'une soustraction dans une des cellules soustraites

Salut BOISGONTIER, salut le Forum,

ton code marche, merci, mais malheureusement çe n'est pas exactement ce que je cherhcais... je vais essayer de m'expliquer!

en fait, je fait une sorte de petite gestion de stock, j'ai donc ma colonne A avec mes quantités initiales et dans ma colonne B viennent s'ajouter les produits vendu, ce que je souhaite, c'est déduire de mes quantités initiales, chaque dernière unités qui est venue s'ajouter dans mes produits vendu.

Avec ton code, il retire, a chaque click du bouton, les quantités qui se trouvent dans ma colonne B (je me retrouve donc vite avec mon stock à zéro!:))

je ne sais pas si j'ai été assez clair, j'espere que oui et je reste là pour toute autre explication!

encore merci de vous pencher sur mon probleme!
 

Excel_lent

XLDnaute Impliqué
Re : afficher le resultat d'une soustraction dans une des cellules soustraites

Salut Fabian, Jb et aux autres

Avec tes premières listes :
Code:
Private Sub CommandButton1_Click()
  Dim li&
  For li = 1 To 5
    Range("B" & li).Value = Range("B" & li).Value - Range("C" & li).Value
  Next
End Sub

Remarque : JB, ta proposition est bien plus condensée !
 
Dernière édition:

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
Re : afficher le resultat d'une soustraction dans une des cellules soustraites

Bonjour,

Maj stock avec historique

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
  If Target.Column = 2 And Target.Count = 1 Then
     Application.EnableEvents = False
     Target.Offset(0, -1) = Target.Offset(0, -1) - Target
     If Target.Comment Is Nothing Then Target.AddComment
     Target.Comment.Text Text:=Target.Comment.Text & _
     Target.Value & ":" & Environ("UserName") & " Le " & Now & vbLf
     Target.Comment.Shape.TextFrame.AutoSize = True
     Target.Comment.Visible = False
     Application.EnableEvents = True
  End If
End Sub

JB
Formation Excel VBA JB
 

Pièces jointes

  • MajStock.xls
    27 KB · Affichages: 76
  • MajStock.xls
    27 KB · Affichages: 81
  • MajStock.xls
    27 KB · Affichages: 87

fabian123

XLDnaute Occasionnel
Re : afficher le resultat d'une soustraction dans une des cellules soustraites

Salut JB, Execl_lent, le forum,


JB, merci de te casser la tête sur mon problème...!

ton code marche très très bien, je crois que je vais le garder et changer la façon dont je voulais procéder...

je pense que je n'arrive pas à expliquer clairement ce que je voulais faire!

je rééssaye une dernière fois:D

JB, dans ton code, la colonne vente affiche la dernière quantité vendue, alors que moi, elles s'additionnent... donc, forcément avec ton code je retire toutjours la derniière quantité et les précédentes!

dans ce que je souhaitais faire ca aurais ressemblais à ceci:

Situation initiale:
ColA
ColB​
1
50

2
50

3
50

4
50

5
50

...

l'utilisateur valide la première vente et nous avons alors:
ColA
ColB​
1
47
3​

2
40
10​

3
50

4
49
1​

5
50

...

puis, il valide la vente du second client (et ainsi de suite)
ColA
ColB​
1
40
10​

2
39
11​

3
48
2​

4
49
1​

5
50

...

les quanntités vendues viennent donc s'ajouter dans la colonne B, mais on ne déduit de la colonne A que les quantités que l'on valide au moment du click, pas celle qui ont déjà été validées...

je ne sais pas si j'ai réussi à mieux me faire comprendre...

mais encore une fois, merci pour l'aide que vous m'apportez et le temps que vous me consacrez.​
 

fabian123

XLDnaute Occasionnel
Re : afficher le resultat d'une soustraction dans une des cellules soustraites

euh, je suis désolé, ma mise en page donne n'importe quoi!!

je vais essayer de la refaire (manifestement je ne maitrise pas très bien le petit logiciel de traitement de texte!:D:p:D

je reposte un tableau correct de mes explications dès que je sais!

fabian
 

fabian123

XLDnaute Occasionnel
Re : afficher le resultat d'une soustraction dans une des cellules soustraites

Voilà, je reposte le tableau, j'espere que cette foios cela va fonctionner!:D



situation initiale:
stock initial Vente
article 1 50
article 2 50
article 3 50
article 4 50
article 5 50


L'utilisateur valide la première vente: (1er click)
stock initial Vente
article 1 47 3
article 2 50
article 3 45 5
article 4 40 10
article 5 49 1

Il valide ensuite la seconde vente (et ainsi de suite) (2eme click)
stock initial Vente
article 1 47 3
article 2 49 1
article 3 35 15
article 4 38 12
article 5 43 7

Les quantités vendues s'additionnent donc dans la colonne 'vente'
mais dans la colonne 'stock initial', on ne déduit que la qualité
qu'on valide au moment du click, pas celles qui ont déjà été validées
 

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
Re : afficher le resultat d'une soustraction dans une des cellules soustraites

Bonjour,

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
  If Target.Column = 2 And Target.Count = 1 Then
     Application.EnableEvents = False
     Target = Val([Mémo]) + Target
     Application.EnableEvents = True
  End If
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  If Target.Column = 2 And Target.Count = 1 Then
    ActiveWorkbook.Names.Add Name:="mémo", RefersToR1C1:="=" & Chr(34) & Target.Value & Chr(34)
  End If
End Sub

JB
 

Pièces jointes

  • MajStock.xls
    43 KB · Affichages: 78
  • MajStock.xls
    43 KB · Affichages: 89
  • MajStock.xls
    43 KB · Affichages: 89

Discussions similaires

Réponses
7
Affichages
414