Public Sub test()
CreaFeuil ThisWorkbook.Sheets("base").range("H9")
Recopie dateBase:=ThisWorkbook.Sheets("base").range("J6"), FeuilDest:=ThisWorkbook.Sheets("base").range("H9"), FichDest:="prod.xls"
End Sub
Sub Recopie(dateBase As Date, FeuilDest As String, FichDest As String)
Dim Lig As Long
Dim Col As Long
Dim DligFD As Long, Ld As Long
Application.ScreenUpdating = False
Col = 1
With ThisWorkbook.Sheets("base")
DligFD = Workbooks(FichDest).Sheets(FeuilDest).Cells(Rows.Count, 1).End(xlUp).Row 'dernière ligne 1ère col de la feuille de destination
Ld = DligFD + 1
For Lig = 15 To 27
If .Cells(Lig, Col).Value <> "XXXXX" Then 'recherche sur la plage de la ligne 15 a27 les ligne ne comportant pas de "XXXXX"
.range("J6").Copy 'collage spécial pour ne pas importer la couleur de fond
Workbooks(FichDest).Sheets(FeuilDest).range("A" & Ld).PasteSpecial Paste:=xlPasteValues
Workbooks(FichDest).Sheets(FeuilDest).range("A" & Ld).NumberFormat = "m/d/yyyy"
.range("H11").Copy
Workbooks(FichDest).Sheets(FeuilDest).range("B" & Ld).PasteSpecial Paste:=xlPasteValues
.range("A" & Lig & ":C" & Lig).Copy Destination:=Workbooks(FichDest).Sheets(FeuilDest).range("c" & Ld)
.range("H" & Lig & ":I" & Lig).Copy Destination:=Workbooks(FichDest).Sheets(FeuilDest).range("F" & Ld)
.range("L" & Lig & ":N" & Lig).Copy Destination:=Workbooks(FichDest).Sheets(FeuilDest).range("H" & Ld)
Ld = Ld + 1
End If
Next Lig
End With
Application.ScreenUpdating = True
End Sub
Public Function FeuilleExiste(sNomFeuille As String) As Boolean
On Error GoTo Err_FeuilleExiste
FeuilleExiste = False
FeuilleExiste = Not ActiveWorkbook.Worksheets(sNomFeuille) Is Nothing
Err_FeuilleExiste:
End Function
Sub CreaFeuil(Vnom As String) ' création d'une feuille dans "prod.xls" selon modèle
'ajouter une gestion de classeur déjà ouvert
Workbooks.Open Filename:=ThisWorkbook.Path & "\prod.xls" '"C:\doc\prod.xls"
On Error Resume Next
If FeuilleExiste(Vnom) Then
MsgBox "feuille" & Vnom & " existe déjà"
Exit Sub
Else
Sheets("MODELE").Copy After:=Sheets(Sheets.Count)
ActiveSheet.Name = Vnom
End If
End Sub