Sub Bouton()
Dim s As Object, dat As Date, F As Object
With ThisWorkbook
For Each s In .Sheets
If IsDate(s.Name) Then _
If CDate(s.Name) > dat Then dat = CDate(s.Name): Set F = s
Next
If dat Then
Application.ScreenUpdating = False
Application.DisplayAlerts = False 'si le fichier a déjà été créé
CreerFichier .Sheets("Facture"), F, True
CreerFichier .Sheets("ODA"), F, False
Application.ScreenUpdating = True
End If
End With
Application.OnTime 1, "Activer" 'facultatif
End Sub
Sub CreerFichier(F1 As Object, F2 As Object, copie As Boolean)
F1.Copy
With ActiveWorkbook
.ActiveSheet.UsedRange = F1.UsedRange.Value 'supprime les formules
Set F1 = .ActiveSheet
F1.DrawingObjects.Delete
If copie Then
F2.Copy After:=F1
.ActiveSheet.UsedRange = F2.UsedRange.Value 'supprime les formules
.ActiveSheet.DrawingObjects.Delete
End If
.ActiveSheet.[A1].Select
F1.Activate: F1.[A1].Select
On Error Resume Next 'quand le fichier n'est pas ouvert
Workbooks(F1.Name & " " & F2.Name).Close False
On Error GoTo 0
.SaveAs ThisWorkbook.Path & "\" & F1.Name & " " & F2.Name
End With
End Sub
Sub Activer()
ThisWorkbook.Activate
End Sub