Bonjour j'ai le code suivant et j'aime insérer un ligne a la en commence par (4) au lieu de mettre en bas de tableau de userform (offset)
Private Sub LigneTransfert()
'remplir une ligne sur le tableau de la feuille "Transfert",
'mais s'il n'y a plus de ligne libre, on ne fait rien !
With Worksheets("Transfert")
lgT = .Cells(Rows.Count, 1).End(3).Row + 1
If lgT = 65000 Then
MsgBox "Le tableau en feuille Transfert est plein !", 65000
lgT = 0: Exit Sub 'on fait rien, et on sort de la sub !
End If
Dim Stock1&, Stock2&
Application.ScreenUpdating = 0: .Unprotect
Stock1 = Val(stocktr) - Val(Quantitetr): Stock2 = Val(stockdes) + Val(Quantitetr)
With .Cells(lgT, 1)
.Value = CB_Pièce 'Code article
.Offset(, 1) = catetr 'Catégorie
.Offset(, 2) = Desitr 'Désignation
.Offset(, 3) = reftr 'Référence
.Offset(, 4) = Date 'Date
.Offset(, 5) = ComboBox1
.Offset(, 6) = Val(stocktr)
.Offset(, 7) = ComboBox2 'Provenance
.Offset(, 8) = Val(stockdes) 'Destination
.Offset(, 9) = Val(Quantitetr) 'Quantité transférée
.Offset(, 10) = unitr 'Unité
.Offset(, 11) = Stock1
.Offset(, 12) = Stock2
End With
.Protect: Application.ScreenUpdating = -1
End With
End Sub