Valeurs soustraites par VBA

mimithoms

XLDnaute Nouveau
Bonjour,

Je ne maitrise pas du tout VBA donc j'ai besoin de votre aide SVP.

Je vous explique:
- J'ai des produits en stock dans differents bunkers.
- lorsque je prend des produits dans des bunkers je souhaiterai à l'aide d'un bon de sortie, que les quantités de ces produits (dans les bunkers) se soustraient au stock lorsque j'appuie sur le bouton de commande "valider".

Est-ce possible? :confused:

Je vous joins le fichier.

Merci d'avance
 

mimithoms

XLDnaute Nouveau
Re : Valeurs soustraites par VBA

Regarde la pièce jointe Classeur2.xlsRegarde la pièce jointe Classeur2.xls
Bonjour,

Je ne maitrise pas du tout VBA donc j'ai besoin de votre aide SVP.

Je vous explique:
- J'ai des produits en stock dans differents bunkers.
- lorsque je prend des produits dans des bunkers je souhaiterai à l'aide d'un bon de sortie, que les quantités de ces produits (dans les bunkers) se soustraient au stock lorsque j'appuie sur le bouton de commande "valider".

Est-ce possible? :confused:

Je vous joins le fichier.

Merci d'avance
 

Pièces jointes

  • Classeur2.xls
    42.5 KB · Affichages: 46
  • Classeur2.xls
    42.5 KB · Affichages: 47

JNP

XLDnaute Barbatruc
Re : Valeurs soustraites par VBA

Bonjour Mimithoms :),
Vois si le fichier joint te convient.
J'ai rajouté des listes de validations pour ne pas pouvoir sortir plus de marchandises que de stock...
Bonne journée :cool:
 

Pièces jointes

  • Stocks.xls
    42.5 KB · Affichages: 45
  • Stocks.xls
    42.5 KB · Affichages: 47
  • Stocks.xls
    42.5 KB · Affichages: 48

JNP

XLDnaute Barbatruc
Re : Valeurs soustraites par VBA

Re :),
Code:
Sub Test()
Dim Cellule As Range, Ligne As Integer
' Déclare Cellule comme cellule, Ligne comme entier
With Sheets("bunkers").Cells
' Avec les cellules de la feuille bunkers - le . ensuite fera appel à cela
For Each Cellule In Sheets("BON").Range("B7:B29")
' Pour chaque cellule de la colonne B du BON qui nous intéresse
If Cellule <> "" Then
' Si le contenu n'est pas vide
Ligne = .Find(Cellule, LookAt:=xlWhole).Row
' Le N° de ligne est égal à la recherche du contenu de la cellule dans bunkers
.Cells(Ligne, Right(Cellule.Offset(0, -1), 1) + 1) = _
    .Cells(Ligne, Right(Cellule.Offset(0, -1), 1) + 1) - Cellule.Offset(0, 1)
' La cellule de bunkers qui est sur la ligne trouvée, la droite de A1 donne 1 et A2 donne 2, donc + 1 donne la bonne colonne
' est = à cette même cellule, moins la quantité qui se trouve à droite de Cellule
End If
' Fin du test
Next
' Cellule suivante
End With
' Fin de la référence aux cellules de bunkers
End Sub
Bonne lecture :cool:
 

Discussions similaires

Statistiques des forums

Discussions
312 307
Messages
2 087 101
Membres
103 468
dernier inscrit
TRINITY