Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Valeurs soustraites par VBA

  • Initiateur de la discussion Initiateur de la discussion mimithoms
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

M

mimithoms

Guest
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? 😕

Je vous joins le fichier.

Merci d'avance
 
Re : Valeurs soustraites par VBA

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

Pièces jointes

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 😎
 

Pièces jointes

Re : Valeurs soustraites par VBA

Ouah ! Merci JNP
Pour que je puisse l'appliquer est-ce que je peux vous demander de m'expliquer chaque ligne du module ?????

Merci d'avance
 
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 😎
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
1
Affichages
210
Réponses
33
Affichages
1 K
Réponses
2
Affichages
2 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…