IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBA Access Discussion :

VBA: Renommer fichier après extraction (ZIP) [AC-2013]


Sujet :

VBA Access

  1. #1
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Août 2013
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2013
    Messages : 25
    Points : 24
    Points
    24
    Par défaut VBA: Renommer fichier après extraction (ZIP)
    Bonjour à tous,

    Je reçois un fichier Excel zippé par email et j'ai une macro VBA Outlook pour sauver ce fichier sur un serveur, ensuite j'ai le code ci-dessous pour décompresser ce fichier. Mon problème est que le nom de ce fichier varie à chaque fois. J'ai essayé de trouver la logique (genre date du jour + xx) mais je ne trouve pas et j'ai demandé à l'équipe qui me l'envoit si elle pouvait figer le nom mais impossible...

    Quelqu'un auurait une idée? Le but est de récupérer le fichier extrait afin de le sauver sous un nom défini à un endroit défini afin d'ensuite lancer un autre module pour l'importer dans ma base de données Access.

    Merci d'avances pour vos conseils.

    Le code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    56
    57
    58
    59
    60
     
     
    Private Function CreationDossier(ByVal sChemin As String) As Boolean
     
    Dim i As Integer, sTmp As String, Ar() As String
        If InStr(sChemin, ":") = 0 Then
            Ar = Split(CurDir & "\" & sChemin, "\")
        Else
            Ar = Split(sChemin, "\")
        End If
     
        sTmp = Ar(0)
        ChDrive sTmp
     
        For i = LBound(Ar) + 1 To UBound(Ar)
            If Ar(i) <> "" Then
                sTmp = sTmp & "\" & Ar(i)
                On Error Resume Next
                MkDir sTmp
                On Error GoTo 0
            End If
        Next i
     
        If Dir(sChemin, vbDirectory) = vbNullString Then
            CreationDossier = False
        Else
            CreationDossier = True
        End If
    End Function
     
    Private Sub Command0_Click()
     
    Dim FSO As Object
    Dim oApp As Object
    Dim DossierZip As Variant
    Dim DossierDezip As Variant
     
        DossierZip = "T:\MBatches\CSD\FISH\Daily update from SAP\Overdue.zip"
        DossierDezip = "T:\MBatches\CSD\FISH\Overdues DB\Unzip\"
     
        Set FSO = CreateObject("Scripting.FileSystemObject")
        If FSO.FolderExists(DossierDezip) Then
            FSO.DeleteFile DossierDezip & "\*.*", True
            FSO.DeleteFolder DossierDezip & "\*.*", True
        End If
        Set FSO = Nothing
     
        If CreationDossier(DossierDezip) Then
     
            Set oApp = CreateObject("Shell.Application")
            oApp.Namespace(DossierDezip).CopyHere oApp.Namespace(DossierZip).items
            Set oApp = Nothing
     
            MsgBox "Les fichiers Dézippés se trouvent dans : " & DossierDezip
     
        End If
     
     
     
    End Sub

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Bonjour.

    Si tu as juste un fichier alors la commande DIr() est ce qu'il te faut.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    dim nomFchier as string
    nomFichier=dir("X:\TonChemin\*.*") 'Récupère le nom du fichier
    Name "X:\TonChemin\" & nomFichier As "Y:\TonAutreChemin\TonAutreNom.ext" 'Met le fichier à sa nouvelle place
    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Août 2013
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2013
    Messages : 25
    Points : 24
    Points
    24
    Par défaut Parfait
    Génial, merci beaucoup

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Fermeture de fichier après utilisation zip.
    Par troumad dans le forum C
    Réponses: 7
    Dernier message: 28/02/2012, 07h47
  2. [Zip] Droits sur fichiers après extraction avec PclZip
    Par Invité dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 21/04/2008, 16h37
  3. Réponses: 2
    Dernier message: 07/02/2008, 14h51
  4. Réponses: 5
    Dernier message: 17/09/2007, 17h01
  5. [VBA] renommer fichier avec delai avant apparition du fichier
    Par yepAccess dans le forum VBA Access
    Réponses: 8
    Dernier message: 09/04/2007, 06h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo