Sub AjouterInventaireV2()
Dim MyData, MyDataHead, MyDataStock As Object, MyDataSave As Object
Dim mycol&, myrow&, i&, j&, rg, reponse As Integer
Dim anneesel$, moissel$, moisannee$
Set MyDataHead = Sheets("Inventaire").Range("B3").CurrentRegion
With MyDataHead
anneesel = .Range("C2"): moissel = .Range("B2")
End With
If anneesel = "" Or moissel = "" Then
MsgBox "Merci de selectionner le mois et/ou l'année !", vbCritical, "Informations"
Else
Set MyDataStock = Sheets("Stock").Range("A1").CurrentRegion
moisannee = moissel & "/" & anneesel
Set rg = MyDataStock.Range("A1:A10000").Find(moisannee, MyDataStock.Range("A1"), LookIn:=xlValues, LookAt:=xlPart)
If Not rg Is Nothing Then
MsgBox "Un Inventaire a déja été défini pour cette période. Merci de selectionner une autre période !", vbCritical, "Informations"
Else
reponse = MsgBox("Voulez vous vraiment enregistrer cet inventaire ?", vbYesNo + vbQuestion, "Confirmation")
If reponse = vbYes Then
Set MyData = Sheets("Inventaire").Range("C7").CurrentRegion
mycol = MyData.Columns.Count
myrow = MyData.Rows.Count
Application.ScreenUpdating = False
Sheets("Stock").Activate
Cells(Rows.Count, 1).End(3).Select
For i = 2 To myrow - 1
For j = 2 To mycol - 1
If MyData(i, j) <> 0 Then
Selection.Offset(1, 0).Select
ActiveCell.Offset(0, 1).Value = moisannee
ActiveCell.Offset(0, 2).Value = MyData(1, j)
ActiveCell.Offset(0, 3).Value = MyData(i, 1)
ActiveCell.Offset(0, 4).Value = MyData(i, j)
End If
Next j
Next i
MsgBox "Inventaire enregistré avec succès !", vbInformation, "Informations"
End If
End If
End If
End Sub