Bonjour,
Merci de m'aider à optimiser mon code ci-dessous.
Actuellement j'ai une erreur d'exécution 1004 à la ligne "Selection.Offset(1, 0).Select".
Dim MyDataInventaire, MyDataInventaireHead, MyDataStock As Object
Dim mycol, myrow, i, j As Long
Dim rg As Variant
Dim reponse As Integer
Dim anneesel, moissel, moisannee As String
Set MyDataHead = Sheets("Inventaire" ).Range("B3" ).CurrentRegion
anneesel = MyDataHead.Range("C2" )
moissel = MyDataHead.Range("B2" )
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
Sheets("Stock" ).Activate
Range("A2" ).Select
Selection.End(xlDown).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"
restaurer_configuration
End If
End If
End If