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

Suite d'opération VBA

3 réponses
Avatar
Fabdu84
Bonjour,

Je souhaite effectuer diverses op=E9rations =E0 des instants T diff=E9rents
sur une m=EAme cellule appell=E9e C.

Par exemple:

A =3D sotck produit
B=3D quantit=E9 unitaire
C=3D stock total
D=3D sortie de stock

1er temps T1: Quand je rentre une valeur dans D et que je valide par
entr=E9e, ces op=E9rations ont lieu:
C =3D C-D
et A =3D C/B

2e temps T2: mon stock produit (A) est =E0 mettre =E0 jour. Je remplie mon
nouveau stock en A et l'op=E9ration suivante =E0 lieu:
C=3D A*B

Merci par avance.

3 réponses

Avatar
garnote
Salut,

Ai-je bien compris :

Private Sub Worksheet_Change(ByVal Target As Range)
If IsNumeric(Target) And Target.Count = 1 Then
Select Case Target.Column
Case 4
Cells(Target.Row, 3) = Cells(Target.Row, 3) - Target
Cells(Target.Row, 1) = Cells(Target.Row, 3) /
Cells(Target.Row, 2)
Case 1
Cells(Target.Row, 3) = Target * Cells(Target.Row, 2)
End Select
End If
End Sub

Serge


"Fabdu84" a écrit dans le message de news:

Bonjour,

Je souhaite effectuer diverses opérations à des instants T différents
sur une même cellule appellée C.

Par exemple:

A = sotck produit
B= quantité unitaire
C= stock total
D= sortie de stock

1er temps T1: Quand je rentre une valeur dans D et que je valide par
entrée, ces opérations ont lieu:
C = C-D
et A = C/B

2e temps T2: mon stock produit (A) est à mettre à jour. Je remplie mon
nouveau stock en A et l'opération suivante à lieu:
C= A*B

Merci par avance.
Avatar
garnote
Ou peut-ëtre ceci :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = Range("sortie_stock").Address Then
Range("stock_total") = Range("stock_total") - Range("sortie_stock")
Range("stock_produit") = Range("stock_total") /
Range("quantité_unitaire")
End If
If Target.Address = Range("stock_produit").Address Then
Range("stock_total") = Range("stock_produit") *
Range("quantité_unitaire")
End If
End Sub

Pour ces calculs :
C = C-D et A = C/B
j'ai utilisé la nouvelle valeur de C pour calculer A.

À suivre ...

Serge



"garnote" a écrit dans le message de news:
%
Salut,

Ai-je bien compris :

Private Sub Worksheet_Change(ByVal Target As Range)
If IsNumeric(Target) And Target.Count = 1 Then
Select Case Target.Column
Case 4
Cells(Target.Row, 3) = Cells(Target.Row, 3) - Target
Cells(Target.Row, 1) = Cells(Target.Row, 3) /
Cells(Target.Row, 2)
Case 1
Cells(Target.Row, 3) = Target * Cells(Target.Row, 2)
End Select
End If
End Sub

Serge


"Fabdu84" a écrit dans le message de news:

Bonjour,

Je souhaite effectuer diverses opérations à des instants T différents
sur une même cellule appellée C.

Par exemple:

A = sotck produit
B= quantité unitaire
C= stock total
D= sortie de stock

1er temps T1: Quand je rentre une valeur dans D et que je valide par
entrée, ces opérations ont lieu:
C = C-D
et A = C/B

2e temps T2: mon stock produit (A) est à mettre à jour. Je remplie mon
nouveau stock en A et l'opération suivante à lieu:
C= A*B

Merci par avance.



Avatar
Fabdu84
Merci pour ces précieuses informations qui marchent parfaitement.