Bonjour Excelée,
Je suis de passage, pour donner un coup de main à l'ami Dan, qu'est-ce qui ne fonctionne pas !?
Sinon, en passant par le vrai nom des feuilles et par des variables
Sub InsertionNumLot()
Dim dLig As Long, Lig As Long
Dim Sht As Worksheet
Dim sLot As String
' Désactiver le rafraichissement écran
Application.ScreenUpdating = False
' Définir la feuille de traitement
Set Sht = ThisWorkbook.Sheets("N° de lot")
' Dernière ligne de la feuille
dLig = Sht.Range("C" & Rows.Count).End(xlUp).Row
' Avec la feuille
With ThisWorkbook.Sheets("Prélèvements")
.Unprotect
' Pour chaque ligne à partir de la 4ème
For Lig = 4 To dLig
' Récupérer le numéro de lot
sLot = Sht.Range("C" & Lig)
' Insérer une nouvelle ligne
.Rows("14:14").Insert Shift:=xlDown
' Selon le code lot
Select Case UCase(Left(sLot, 2))
Case Is = "PY"
.Range("H14") = Left(sLot, 3) 'code site
Case Is = "CA"
.Range("F14") = Left(sLot, 2) 'code site
End Select
.Range("E14") = Mid(sLot, 4) 'lot numero
.Range("A14") = WorksheetFunction.Max(.Range("A14:A" & .Range("A" & Rows.Count).End(xlUp).Row)) + 1 'Increment N°
.Range("C14") = .Range("C4").Value
.Range("D14") = Format(Now, "dd/mm/yyyy")
.Range("B15").AutoFill Destination:=.Range("B14:B15"), Type:=xlFillDefault
.Range("I15:N15").AutoFill Destination:=.Range("I14:N15"), Type:=xlFillDefault
Next Lig
' .Protect DrawingObjects:=True, Contents:=True, Scenarios:=True _
, AllowFormattingColumns:=True, AllowFormattingRows:=True, AllowSorting:= _
True, AllowFiltering:=True, AllowUsingPivotTables:=True
End With
Application.ScreenUpdating = True
End Sub
A+