Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

excel 2000

5 réponses
Avatar
Michel Labato
Bonjour, je bloque sur un problème simple... sur une feuille de calcul à 5
colonnes, je voudrais mettre des entrées sur la 3ème, des sorties sur la
4ème, et un stock restant sur la 5ème.. bien évidemment, il faudrait que le
stock fasse le calcul de lui même et se mette à jour tout seul en fonction
des entrées et des sorties, au fur et à mesure des mouvements... quelqu'un
peut-il m'éclairer ?
merci d'avance

5 réponses

Avatar
Philippe.R
Bonjour,
Si la mise à jour des entrées et sorties se fait toujours sur la même ligne
(disons 2 pour l'exemple), coller le code suivant dans le module de la
feuille

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("c:c")) Is Nothing Then
Cells(Target.Row, 5).Value = Cells(Target.Row, 5).Value _
+ Target.Value
ElseIf Not Intersect(Target, Range("d:d")) Is Nothing Then
Cells(Target.Row, 5).Value = Cells(Target.Row, 5).Value _
- Target.Value
End If
End Sub
--
Avec plaisir
http://dj.joss.free.fr/trombine.htm
http://jacxl.free.fr/mpfe/trombino.html
Philippe.R
Pour se connecter au forum :
http://www.excelabo.net/mpfe/connexion.php
News://news.microsoft.com/microsoft.public.fr.excel
"Michel Labato" a écrit dans le message de
news:4825634b$0$908$
Bonjour, je bloque sur un problème simple... sur une feuille de calcul à 5
colonnes, je voudrais mettre des entrées sur la 3ème, des sorties sur la
4ème, et un stock restant sur la 5ème.. bien évidemment, il faudrait que
le stock fasse le calcul de lui même et se mette à jour tout seul en
fonction des entrées et des sorties, au fur et à mesure des mouvements...
quelqu'un peut-il m'éclairer ?
merci d'avance



Avatar
Michel Labato
ben non, au fur et à mesure des saisies, les lignes vont descendre...
C'est un peu comme si on faisait une gestion de comptes bancaires, avec
crédit en colonne 3 et débit en colonne 4, le solde se calculant
automatiquement dans la colonne 5... au bout d'un moment, les lignes vont
être nombreuses !

"Philippe.R" <AS_rauphil_chez_wanadoo.fr> a écrit dans le message de news:

Bonjour,
Si la mise à jour des entrées et sorties se fait toujours sur la même
ligne (disons 2 pour l'exemple), coller le code suivant dans le module de
la feuille

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("c:c")) Is Nothing Then
Cells(Target.Row, 5).Value = Cells(Target.Row, 5).Value _
+ Target.Value
ElseIf Not Intersect(Target, Range("d:d")) Is Nothing Then
Cells(Target.Row, 5).Value = Cells(Target.Row, 5).Value _
- Target.Value
End If
End Sub
--
Avec plaisir
http://dj.joss.free.fr/trombine.htm
http://jacxl.free.fr/mpfe/trombino.html
Philippe.R
Pour se connecter au forum :
http://www.excelabo.net/mpfe/connexion.php
News://news.microsoft.com/microsoft.public.fr.excel
"Michel Labato" a écrit dans le message de
news:4825634b$0$908$
Bonjour, je bloque sur un problème simple... sur une feuille de calcul à
5 colonnes, je voudrais mettre des entrées sur la 3ème, des sorties sur
la 4ème, et un stock restant sur la 5ème.. bien évidemment, il faudrait
que le stock fasse le calcul de lui même et se mette à jour tout seul en
fonction des entrées et des sorties, au fur et à mesure des mouvements...
quelqu'un peut-il m'éclairer ?
merci d'avance






Avatar
Mgr.Abile
Bonjour,
Il faut excuser ce benêt de Philippe.R, il aurait quand même pu deviner !
Ce sera donc probablement :

Private Sub Worksheet_Change(ByVal Target As Range)
'MPFE_Va le
If Target.Row < 3 Then Exit Sub
If Target.Row < Range("E65536").End(xlUp).Row Then Exit Sub
If Not Intersect(Target, Range("c:d")) Is Nothing Then
Cells(Target.Row, 5).Value = Cells(Target.Row - 1, 5).Value _
+ Cells(Target.Row, 3).Value - Cells(Target.Row, 4).Value
End If
End Sub

Quant au pauvre d'esprit, le royaume des cieux lui est ouvert !
--
News://news.microsoft.com/microsoft.public.fr.excel
Allez en paix
T.Abile
"Michel Labato" a écrit dans le message de
news:482571e0$0$883$
ben non, au fur et à mesure des saisies, les lignes vont descendre...
C'est un peu comme si on faisait une gestion de comptes bancaires, avec
crédit en colonne 3 et débit en colonne 4, le solde se calculant
automatiquement dans la colonne 5... au bout d'un moment, les lignes vont
être nombreuses !

"Philippe.R" <AS_rauphil_chez_wanadoo.fr> a écrit dans le message de news:

Bonjour,
Si la mise à jour des entrées et sorties se fait toujours sur la même
ligne (disons 2 pour l'exemple), coller le code suivant dans le module de
la feuille

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("c:c")) Is Nothing Then
Cells(Target.Row, 5).Value = Cells(Target.Row, 5).Value _
+ Target.Value
ElseIf Not Intersect(Target, Range("d:d")) Is Nothing Then
Cells(Target.Row, 5).Value = Cells(Target.Row, 5).Value _
- Target.Value
End If
End Sub
--
Avec plaisir
http://dj.joss.free.fr/trombine.htm
http://jacxl.free.fr/mpfe/trombino.html
Philippe.R
Pour se connecter au forum :
http://www.excelabo.net/mpfe/connexion.php
News://news.microsoft.com/microsoft.public.fr.excel
"Michel Labato" a écrit dans le message de
news:4825634b$0$908$
Bonjour, je bloque sur un problème simple... sur une feuille de calcul à
5 colonnes, je voudrais mettre des entrées sur la 3ème, des sorties sur
la 4ème, et un stock restant sur la 5ème.. bien évidemment, il faudrait
que le stock fasse le calcul de lui même et se mette à jour tout seul en
fonction des entrées et des sorties, au fur et à mesure des
mouvements... quelqu'un peut-il m'éclairer ?
merci d'avance










Avatar
Michel Labato
ok merci à tous... vais essayer
"Mgr.Abile" a écrit dans le message de news:

Bonjour,
Il faut excuser ce benêt de Philippe.R, il aurait quand même pu deviner !
Ce sera donc probablement :

Private Sub Worksheet_Change(ByVal Target As Range)
'MPFE_Va le
If Target.Row < 3 Then Exit Sub
If Target.Row < Range("E65536").End(xlUp).Row Then Exit Sub
If Not Intersect(Target, Range("c:d")) Is Nothing Then
Cells(Target.Row, 5).Value = Cells(Target.Row - 1, 5).Value _
+ Cells(Target.Row, 3).Value - Cells(Target.Row, 4).Value
End If
End Sub

Quant au pauvre d'esprit, le royaume des cieux lui est ouvert !
--
News://news.microsoft.com/microsoft.public.fr.excel
Allez en paix
T.Abile
"Michel Labato" a écrit dans le message de
news:482571e0$0$883$
ben non, au fur et à mesure des saisies, les lignes vont descendre...
C'est un peu comme si on faisait une gestion de comptes bancaires, avec
crédit en colonne 3 et débit en colonne 4, le solde se calculant
automatiquement dans la colonne 5... au bout d'un moment, les lignes vont
être nombreuses !

"Philippe.R" <AS_rauphil_chez_wanadoo.fr> a écrit dans le message de
news:
Bonjour,
Si la mise à jour des entrées et sorties se fait toujours sur la même
ligne (disons 2 pour l'exemple), coller le code suivant dans le module
de la feuille

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("c:c")) Is Nothing Then
Cells(Target.Row, 5).Value = Cells(Target.Row, 5).Value _
+ Target.Value
ElseIf Not Intersect(Target, Range("d:d")) Is Nothing Then
Cells(Target.Row, 5).Value = Cells(Target.Row, 5).Value _
- Target.Value
End If
End Sub
--
Avec plaisir
http://dj.joss.free.fr/trombine.htm
http://jacxl.free.fr/mpfe/trombino.html
Philippe.R
Pour se connecter au forum :
http://www.excelabo.net/mpfe/connexion.php
News://news.microsoft.com/microsoft.public.fr.excel
"Michel Labato" a écrit dans le message de
news:4825634b$0$908$
Bonjour, je bloque sur un problème simple... sur une feuille de calcul
à 5 colonnes, je voudrais mettre des entrées sur la 3ème, des sorties
sur la 4ème, et un stock restant sur la 5ème.. bien évidemment, il
faudrait que le stock fasse le calcul de lui même et se mette à jour
tout seul en fonction des entrées et des sorties, au fur et à mesure
des mouvements... quelqu'un peut-il m'éclairer ?
merci d'avance













Avatar
LSteph
Bonjour,

Voici un exemple

http://cjoint.com/?fkqefHUQUL

Composition:

-Feuil1(Articles):
Liste exhaustive et sans doublons des articles consultable rapidement
[Code(Ref)][Libellé] [Quantité Disponible]
-Feuil2(Mouvements)-Historique des mouvements (vider de temps en temps)
-Userform1(frmMouvement):
-Combobox1(CmbChoix)
choix dans la liste
-Label1(LblStk)
Stock init
-TextBox1(TBmvt)
Qté
-CommandButton1(Entrée)
-CommandButton2(Sortie)
-CommandButton3

Code:


Private Sub ComboBox1_Change()
If ComboBox1.ListIndex <> -1 Then
TextBox1.Visible = True
CommandButton1.Enabled = True
CommandButton2.Enabled = True
Label1.Caption = Feuil1.Cells(ComboBox1.ListIndex + 2, 3)
TextBox1.SetFocus
Else
Call rmz
Label1.Caption = ""
End If
End Sub

Private Sub CommandButton1_Click()
Dim msg As String, num As Long
msg = "Entrez une quantité valide"
num = ComboBox1.ListIndex + 2
If Not IsNumeric(TextBox1.Value) Then TextBox1.SetFocus: MsgBox
msg: Exit Sub

With Feuil2.[a65536].End(xlUp)(2)

.Value = ComboBox1

.Offset(0, 1) = Feuil1.Cells(num, 3)
Feuil1.Cells(num, 3) = CLng(Label1.Caption) + CLng(TextBox1)
.Offset(0, 2) = CLng(TextBox1)
.Offset(0, 3) = Feuil1.Cells(num, 3)
.Offset(0, 4).Value = Format(Now, "dd/mm/yy-hh:nn")
End With
Unload Me

End Sub

Private Sub CommandButton2_Click()
Dim msg1 As String, msg2 As String, num As Long
msg1 = "Entrez une quantité valide"
msg2 = "Stock insuffisant"
num = ComboBox1.ListIndex + 2
If Not IsNumeric(TextBox1.Value) Then TextBox.SetFocus: MsgBox
msg1: Exit Sub
If CLng(Label1.Caption) - CLng(TextBox1) < 0 Then TextBox.SetFocus:
MsgBox msg2: Exit Sub
With Feuil2.[a65536].End(xlUp)(2)

.Value = ComboBox1

.Offset(0, 1) = Feuil1.Cells(num, 3)
Feuil1.Cells(num, 3) = CLng(Label1.Caption) - CLng(TextBox1)
.Offset(0, 2) = -CLng(TextBox1)
.Offset(0, 3) = Feuil1.Cells(num, 3)
.Offset(0, 4).Value = Format(Now, "dd/mm/yy-hh:nn")
End With
Unload Me
End Sub

Private Sub CommandButton3_Click()
Unload Me

End Sub



Private Sub UserForm_Initialize()
Dim c As Range
Feuil1.Activate
ComboBox1.Clear
For Each c In Range("a2:" & [a65536].End(xlUp).Address)
ComboBox1.AddItem c & " - " & c.Offset(0, 1)
Next
Call rmz
End Sub
Private Sub rmz()
Label1.Caption = "Choisir un article"
TextBox1.Visible = False
CommandButton1.Enabled = False
CommandButton2.Enabled = False
End Sub

' lSteph


Bonjour, je bloque sur un problème simple... sur une feuille de calcul à 5
colonnes, je voudrais mettre des entrées sur la 3ème, des sorties sur la
4ème, et un stock restant sur la 5ème.. bien évidemment, il faudrait que le
stock fasse le calcul de lui même et se mette à jour tout seul en fonction
des entrées et des sorties, au fur et à mesure des mouvements... quelqu'un
peut-il m'éclairer ?
merci d'avance