zip d'un fichier

argon1515

XLDnaute Junior
Bonjour à tous,
A la fin d'une macro je souhaite ziper le fichier xls que je viens de sauvegarder.
Quelle commande utiliser ?
 

MichelXld

XLDnaute Barbatruc
Re : zip d'un fichier

bonsoir


Si tu dispose de WinXP:


Code:
Sub ZipFichier()
    '
    'Source
    'http://www.codecomments.com/archive299-2006-2-295877.html
    '
    Dim oShell As Object, Fso As Object
    Dim i As Long
    Dim Fichier As String, MyBinary As String
    Dim LeZip As Variant
    Dim MyHex As Variant
    
    Fichier = "C:\le classeur.xls"
    LeZip = "C:\Ma sauvegarde.zip"
     
    Set Fso = CreateObject("Scripting.FileSystemObject")
    MyHex = _
        Array(80, 75, 5, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
    
    For i = 0 To UBound(MyHex)
        MyBinary = MyBinary & Chr(MyHex(i))
    Next
    
    With Fso.CreateTextFile(LeZip, True)
        .Write MyBinary
        .Close
    End With
    
    Set oShell = CreateObject("Shell.Application")
    oShell.Namespace(LeZip).CopyHere (Fichier)
    
    Set oShell = Nothing
End Sub



Bonne soirée
MichelXld
 

argon1515

XLDnaute Junior
Re : zip d'un fichier

Bonjour MichelXld,
J'ai bien windows XP et je viens de tester la macro qui fonctionne parfaitement.
Par contre je n'ai pas tous compris dans les lignes de code et certaines instructions sont un mystére pour moi :

Set Fso = CreateObject("Scripting.FileSystemObject")
MyHex = _
Array(80, 75, 5, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)

For i = 0 To UBound(MyHex)
MyBinary = MyBinary & Chr(MyHex(i))
Next

Enfin le principal est que tu m'as dépanné et je t'en remercie

Bon week end ... qui approche à grand pas :)
 

Discussions similaires

Statistiques des forums

Discussions
312 490
Messages
2 088 879
Membres
103 981
dernier inscrit
vinsalcatraz