1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
|
Sub Archiver()
Dim Nbr As Variant
Dim AdresseCell As Variant
Dim objShell As Object, objFolder As Object, oFolderItem As Object
Dim Chemin As String, NomComplet As String
' ICI ON METTRA LE CODE QUI DESACTIVERA DES PROCEDURES DE THISWORKBOOK
'On fait une sauvegarde du fichier avant rénitialisation
'.xlsm = 5
'.xls = 4
wk = ActiveWorkbook.Name
LeNom = Left(wk, Len(wk) - 5) & " (copie de sauvegarde)" & ".xlsm" 'A adapter
Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.BrowseForFolder(&H0&, "Choisir un répertoire", &H1&)
On Error Resume Next
Set oFolderItem = objFolder.Items.Item
Chemin = oFolderItem.Path
ActiveWorkbook.SaveCopyAs Chemin & "\" & LeNom 'à adapter
MsgBox "Le fichier va être rénitialisé"
' ICI ON METTRA LE CODE QUI REACTIVERA LES PROCEDURES DE THISWORKBOOK AVANT RENITIALISATION DU FICHIER
With Sheets("Suivi").Select
Nbr = Application.WorksheetFunction.CountA(Range(Cells(2, 2), Cells(Rows.Count, 2).End(xlUp)))
End With
'On ajoute 2 correspondant aux lignes utilisées pour l'header du document
AdresseCell = Nbr + 2
'On compte le nombre de cellules non vides du document
MsgBox "La dernière ligne utilisée est la ligne : " & AdresseCell
'On sélectionne toutes les lignes dont la colonne C contient des cellules non vides à partir de la ligne 4
Rows("4:" & AdresseCell).Select
'On supprime la sélection
Selection.Delete Shift:=xlUp
'Rénitialisation de la première ligne
Range("A3:M3").ClearContents
End Sub |
Partager