Extraction de fichier sur excel

Résolu/Fermé
aaa - 16 août 2012 à 14:09
aaabbb Messages postés 6 Date d'inscription lundi 27 août 2012 Statut Membre Dernière intervention 18 octobre 2012 - 27 août 2012 à 13:48
Bonjour,

J'aimerai créer une requête VBA afin d'extraire chaque jour un dossier . zip contenant des fichiers .csv

Puis, après extraction, je dois ouvrir ces fichiers .csv, les transformer en .xls(organisé en colonnes et non séparé par des virgules).

Puis j'aimerais que chaque fichier .xls journalier se mette dans un onglet différent dans un même classeur.

Salutations


A voir également:

4 réponses

pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 744
16 août 2012 à 15:13
En fait, peu importe...
Utilise ce code pour dézipper tes fichiers :
A ADAPTER :
- "C:\toto\Bureau" = Répertoire racine
- "MesFichiersDézippés" = Nom d'un sous-répertoire qui va être créé, dans le répertoire racine, pour recevoir les fichiers dézippés
- "C:\toto\Bureau\MonFichier.zip" = chemin d'accès complet de ton fichier .zip

Sub TestRun()
'Sources : http://excelexperts.com/Unzip-Files-using-VBA
    Call UnZip("C:\toto\Bureau", "MesFichiersDézippés", "C:\toto\Bureau\MonFichier.zip")
End Sub

Sub UnZip(strTargetPath As String, Dossier As String, Fname As Variant)
    Dim oApp As Object
    Dim FileNameFolder As Variant
    If Right(strTargetPath, 1) <> Application.PathSeparator Then
        strTargetPath = strTargetPath & Application.PathSeparator
    End If
    If Not (RepertoireExiste(strTargetPath & Dossier)) Then
        MkDir (strTargetPath & Dossier)
    Else
        MsgBox "Le répertoire : " & Chr(10) & Chr(10) & strTargetPath & Dossier & Chr(10) & Chr(10) & _
        "existe déjà. Merci de le supprimer."
        Exit Sub
    End If
    FileNameFolder = strTargetPath & Dossier
    Set oApp = CreateObject("Shell.Application")
    oApp.Namespace(FileNameFolder).CopyHere oApp.Namespace(Fname).items
End Sub

Function RepertoireExiste(Chemin As String) As Boolean
On Error Resume Next
RepertoireExiste = GetAttr(Chemin) And vbDirectory
End Function

2
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 744
16 août 2012 à 14:29
Le "Monsieur" ironique était vraiment superflu...

Tu dis :
J'aimerai créer une requête VBA afin d'extraire chaque jour un dossier . zip
Quel est ton logiciel de compression/Extraction?
0
J'utilise WinZip Executable
0
aaabbb Messages postés 6 Date d'inscription lundi 27 août 2012 Statut Membre Dernière intervention 18 octobre 2012
27 août 2012 à 13:48
Merci!
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 744
16 août 2012 à 14:21
Bonjour,

Tu es le même que le aaa qui a posé cette question ce matin?
-1
oui effectivement

Salutations
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 744
16 août 2012 à 14:24
Si ça fonctionne, ça t'ennuierai beaucoup de :
1- signaler que le sujet est résolu (clic sur résolu dans le premier message du sujet)
2- dire merci
0