Sub openZIPCSV()
    Dim FSO As Object, fichier As Variant, dossierTemp As Variant, DefPath As String
    fichier = Application.GetOpenFilename(filefilter:="Zip Files (*.zip), *.zip", MultiSelect:=False)
    If fichier = False Then Exit Sub
    DefPath = Mid(fichier, 1, InStrRev(fichier, "\"))
    'création d'un dossier temporaire au meme endroit
    dossierTemp = DefPath & "dézippé\": MkDir dossierTemp
    'copie des fichiers du zip dans le dossier temporaire créé précédemment
    With CreateObject("Shell.Application"): .Namespace(dossierTemp).CopyHere .Namespace(fichier ).items: End With
    'Si on veut extraire un seul fichier, faire ca ( si le nom est connu bien evidement):
    'oApp.Namespace(dossierTemp).CopyHere oApp.Namespace(fichier ).items.Item("test.txt")
    'MsgBox "les fichiers sont ici " & dossierTemp
    If Dir(dossierTemp & "\*.csv") <> "" Then Workbooks.Open Dir(dossierTemp & "\*.csv"),local:=true ' ouvre le premier fichier du ((dir"*.csv"))
    On Error Resume Next
    With CreateObject("scripting.filesystemobject"): .deletefolder Environ("Temp") & "\Temporary Directory*", True: End With
End Sub