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

Macros et VBA Excel Discussion :

Synchronisation de fichiers sur serveur ftp avec winSCP [XL-2016]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Pôle Etude et Automatisation
    Inscrit en
    Avril 2007
    Messages
    166
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Pôle Etude et Automatisation
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Avril 2007
    Messages : 166
    Par défaut Synchronisation de fichiers sur serveur ftp avec winSCP
    Bonjour,

    J'ai inscrit le composant winSCP

    Nom : inscription.png
Affichages : 126
Taille : 21,1 Ko

    J'ai un module qui me permet de downloader ou uploader des fichiers sur un serveur ftp à partir de ce composant:

    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
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
     
    Option Explicit
     
    Sub Example()
     
        Dim maSession As New Session
     
        ' Enable custom error handling
        On Error Resume Next
     
    '    Upload maSession
    '    Download maSession
        Synchronise maSession
     
     
        ' Query for errors
        If Err.Number <> 0 Then
            MsgBox "Error: " & Err.Description
     
            ' Clear the error
            Err.Clear
        End If
     
        ' Disconnect, clean up
        maSession.Dispose
     
        ' Restore default error handling
        On Error GoTo 0
     
    End Sub
     
    Private Sub Upload(ByRef maSession As Session)
     
        Dim mesOptionsdeSession As New sessionOptions
     
        With mesOptionsdeSession
            .Protocol = Protocol_Ftp
            .HostName = "192.168.1.13"
            .UserName = "User"
            .Password = "XXXX"
            .FtpSecure = FtpSecure.FtpSecure_Explicit
            .TlsHostCertificateFingerprint = "61:ba:da:16:4d:..."
        End With
     
        maSession.Open mesOptionsdeSession
     
        Dim mesOptionsdeTransfert As New transferOptions
     
        mesOptionsdeTransfert.TransferMode = TransferMode_Binary
     
        Dim ResultatduTransfert As TransferOperationResult
        Set ResultatduTransfert = _
            maSession.PutFiles("C:\AE\TAR\*", "/", False, mesOptionsdeTransfert)
     
        ' Throw on any error
        ResultatduTransfert.Check
     
        ' Display results
        Dim transfert As TransferEventArgs
        For Each transfert In ResultatduTransfert.Transfers
            MsgBox "Upload de " & transfert.Filename & " succés"
        Next
     
    End Sub
     
    Private Sub Download(ByRef maSession As Session)
     
        Dim mesOptionsdeSession As New sessionOptions
     
        With mesOptionsdeSession
            .Protocol = Protocol_Ftp
            .HostName = "192.168.1.13"
            .UserName = "User"
            .Password = "XXXX"
            .FtpSecure = FtpSecure.FtpSecure_Explicit
            .TlsHostCertificateFingerprint = "61:ba:da:16:4d:....."
        End With
     
        maSession.Open mesOptionsdeSession
     
        Dim mesOptionsdeTransfert As New transferOptions
     
        mesOptionsdeTransfert.TransferMode = TransferMode_Binary
     
        Dim ResultatduTransfert As TransferOperationResult
        Set ResultatduTransfert = _
            maSession.GetFiles("/*", "C:\AE\TAR\", False, mesOptionsdeTransfert)
     
        ' Throw on any error
        ResultatduTransfert.Check
     
        ' Display results
        Dim transfert As TransferEventArgs
        For Each transfert In ResultatduTransfert.Transfers
            MsgBox "Download de " & transfert.Filename & " succés"
        Next
     
    End Sub
    Je souhaiterai pouvoir synchroniser le serveur avec un dossier en local plutôt que downloader les fichiers.

    Merci pour votre aide

    Eric

  2. #2
    Membre confirmé
    Profil pro
    Pôle Etude et Automatisation
    Inscrit en
    Avril 2007
    Messages
    166
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Pôle Etude et Automatisation
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Avril 2007
    Messages : 166
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
        Dim synchronizationResult As synchronizationResult
        Set synchronizationResult = _
                        maSession.SynchronizeDirectories( _
                            SynchronizationMode_Local, "C:\AE\TAR\", "\", False)
    Eric

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 18/05/2011, 20h06
  2. Enumération fichiers sur serveur FTP
    Par STRIKER94 dans le forum Excel
    Réponses: 15
    Dernier message: 11/04/2010, 13h13
  3. + de 2000 fichiers sur serveur FTP
    Par _seb_ dans le forum WinDev
    Réponses: 4
    Dernier message: 17/09/2007, 10h59
  4. Erreur programme d'envoi fichier sur serveur ftp
    Par batssa dans le forum Langage
    Réponses: 3
    Dernier message: 17/08/2007, 14h30
  5. Réponses: 15
    Dernier message: 01/09/2005, 10h07

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