XL 2019 Lier les locations journalières au stock

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 !

SARAH030412

XLDnaute Nouveau
Bonjour, Je suis en train de créer un fichier avec des macros afin de faire un tableau de bord des locations avec une déduction automatique des stocks dans la feuille stock. (ma version d'excel 2019)

Concrètement, je voudrais (avec un codage VBA) que mon dans mon fichier "LOCATION DEFINITIF" , les quantités louées dans la feuille "suivi location 2021" (colonne F) se déduisent de la feuille "stock" de la colonne F nommé quantité initiale.

Pour cela j'ai fais un codage cependant ce codage ne s'est pas enregistré dans la fenêtre VBA de mon fichier excel "LOCATION DEFINITIF" d'où le fait que j'ai mis un deuxième fichier.

Voici mon codage:

Sub verification_stock()

Dim ligne As Integer: ligne = 7
Dim valeur_stock As Integer: valeur_stock = 0
Dim valeur_demandee As Integer: valeur_demandee = 0
Dim ref_article As String: Dim ref_suivi_location_2021 As String
Dim choix_utilisateur As Byte

While (Workbooks("LOCATION DEFINITIF.xlsx").Worksheets("Feuil1").Cells(ligne, 6).Value <> "")
valeur_stock = Workbooks("LOCATION DEFINITIF.xlsx").Worksheets("Feuil1").Cells(ligne, 6).Value
ref_article = Workbooks("LOCATION DEFINITIF.xlsx").Worksheets("Feuil1").Cells(ligne, 2).Value

For Each cellule In ThisWorkbook.Worksheets("SUIVI_LOCATION_2021").Range("C6:C134")

If (cellule.Value = ref_article) Then
valeur_demandee = ThisWorkbook.Worksheets("SUIVI_LOCATION_2021").Cells(cellule.Row, 6)
If (valeur_demandee > valeur_stock) Then
MsgBox ("La référence" & cellule.Value & "ne possède pas assez de stock")
test = True
End If

End If

Next cellule

ligne = ligne + 1
Wend
If (test = True) Then
Exit Sub
Else
choix_utilisateur = MsgBox("La facture semble correcte, mettre à jour les stocks ?", vbYesNo)
If (choix_utilisateur = 6) Then
For Each cellule In ThisWorkbook.Worksheets("SUIVI_LOCATION_2021").Range("C6:C134")
ligne = 7
While (Workbooks("LOCATION DEFINITIF.xlsx").Worksheets("Feuil1").Cells(ligne, 6).Value <> "")
If (cellule.Value = Workbooks("LOCATION DEFINITIF.xlsx").Worksheets("Feuil1").Cells(ligne, 2).Value) Then
Workbooks("LOCATION DEFINITIF.xlsx").Worksheets("Feuil1").Cells(ligne, 6).Value = Workbooks("LOCATION DEFINITIF.xlsx").Worksheets("Feuil1").Cells(ligne, 6).Value - ThisWorkbook.Worksheets("SUIVI_LOCATION_2021").Cells(cellule.Row, 6).Value
End If
ligne = ligne + 1
Wend
Next cellule
Else
Exit Sub
End If
End If

End Sub

Je rejoins encore le fichier excel en PJ

Merci pour votre aide car elle m'est vraiment précieuse

Sarah
 

Pièces jointes

Solution
re,

le tableau Stock sert de base à la requête pour calculer le stock final, il est donc impossible de le supprimer.
Pour une meilleure lisibilité, il est possible de masquer la feuille stock.

Par contre, on peut utiliser la requête Stock initial pour la fusion avec la requête Consommation et supprimer la requête Stock final, pour alléger le fichier.

Cordialement
re;

Une proposition avec Power Query et un macro d'actualisation.
Cordialement.
Bonjour Goube,

Un très grand merci à toi pour t'être penché sur mon fichier!!!!

Ca me convient bien merci, par contre j'aimerai que lorsqu'on saisisse les quantités retournées dans la colonne P de la feuille SUIVI_LOCATION_2021, les quantités se remettent dans le stock de la feuille stock.

Merci à toi pour cette grand aide!! 🙂

Sarah
 
re,

le tableau Stock sert de base à la requête pour calculer le stock final, il est donc impossible de le supprimer.
Pour une meilleure lisibilité, il est possible de masquer la feuille stock.

Par contre, on peut utiliser la requête Stock initial pour la fusion avec la requête Consommation et supprimer la requête Stock final, pour alléger le fichier.

Cordialement
 

Pièces jointes

Dernière édition:
re,

le tableau Stock sert de base à la requête pour calculer le stock final, il est donc impossible de le supprimer.
Pour une meilleure lisibilité, il est possible de masque la feuille stock.

Par contre, on peut utiliser la requêt Stok initial pour la fusion avec la requête Consommation et supprimer la requête Stock final, pour alléger le fichier.

Cordialement
Re,

Je comprends mieux!!

Merci pour ton temps passé sur mon fichier et tes informations précieuses!!!

Vraiment tu a débloqué ma situation!!

Encore merci à toi GOUBE.

Bonne soirée !
 
- 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

Discussions similaires

Réponses
2
Affichages
371
Réponses
4
Affichages
400
Réponses
3
Affichages
569
Réponses
4
Affichages
486
Réponses
6
Affichages
522
Réponses
3
Affichages
442
Retour