XL 2019 Lier les locations journalières au stock

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

  • LOCATION_DEFINITIF_COPIE.xlsx
    32 KB · Affichages: 17
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

SARAH030412

XLDnaute Nouveau
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
 

goube

XLDnaute Impliqué
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

  • LOCATION_DEFINITIF(PQ1).xlsm
    54.3 KB · Affichages: 10
Dernière édition:

SARAH030412

XLDnaute Nouveau
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 !
 

Discussions similaires

Réponses
3
Affichages
540
Réponses
19
Affichages
803
Haut Bas