Bonjour Soan,
Merci pour votre message, désolée pour cette erreur..
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