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 Discussion :

Envoyer un fichier sur un serveur FTP


Sujet :

VBA

  1. #1
    Membre du Club
    Inscrit en
    Novembre 2010
    Messages
    105
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 105
    Points : 65
    Points
    65
    Par défaut Envoyer un fichier sur un serveur FTP
    Bonjour à tous,

    je voudrais pouvoir envoyer un fichier sur un serveur FTP avec une macro VBA.

    Quelqu'un sait comment s'y prendre?

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Peut-être avec cela : Envoi/réception de fichier sur un serveur FTP

    Philippe

  3. #3
    Membre du Club
    Inscrit en
    Novembre 2010
    Messages
    105
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 105
    Points : 65
    Points
    65
    Par défaut
    Merci beaucoup pour la source phillipe.

    J'ai quand même un peu de mal à l'utiliser :/.

    Voici le code que j'ai généré :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
       'J'ajoute le fichier sur le serveur FTP***********************************************************
        'ouverture internet
        HwndOpen = InternetOpen("calendrier.ventana-aerospace.fr", 0, vbNullString, vbNullString, 0)
        'Connection au site ftp
        HwndConnect = InternetConnect(HwndOpen, "calendrier.ventana-aerospace.fr", 21, "user", "pass", 1, 0, 0)
        'positionnement du curseur dans le répertoire
        FtpSetCurrentDirectory HwndConnect, "httpdocs/FTP_content/"
     
        FtpPutFile HwndConnect, "C:\temp\AgendaExport.csv", "Agenda_" & Application.GetNamespace("MAPI").CurrentUser & ".csv", &H0, 0
     
        InternetCloseHandle HwndConnect 'Ferme la connection
        InternetCloseHandle HwndOpen 'Ferme internet
        '*****************************************************************************************************************
    avec les variables initialisées avant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
      'Déclaration des variables pour l'envoi par FTP
        Dim HwndConnect As Long
        Dim HwndOpen As Long
    et les declare :
    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
    '-------------------
    'Déclaration des API
    '-------------------
    Private Declare Function InternetCloseHandle Lib "wininet.dll" _
      (ByVal hInet As Long) As Integer
     
    Private Declare Function InternetConnect Lib "wininet.dll" Alias "InternetConnectA" _
    (ByVal hInternetSession As Long, ByVal sServerName As String, _
    ByVal nServerPort As Integer, _
    ByVal sUserName As String, ByVal sPassword As String, ByVal lService As Long, _
    ByVal lFlags As Long, ByVal lContext As Long) As Long
     
    Private Declare Function InternetOpen Lib "wininet.dll" Alias "InternetOpenA" _
     (ByVal sAgent As String, ByVal lAccessType As Long, ByVal sProxyName As String, _
    ByVal sProxyBypass As String, ByVal lFlags As Long) As Long
     
    Private Declare Function FtpSetCurrentDirectory Lib "wininet.dll" Alias _
    "FtpSetCurrentDirectoryA" (ByVal hFtpSession As Long, _
    ByVal lpszDirectory As String) As Boolean
     
    Private Declare Function FtpGetFile Lib "wininet.dll" Alias "FtpGetFileA" _
    (ByVal hConnect As Long, ByVal lpszRemoteFile As String, _
    ByVal lpszNewFile As String, ByVal fFailIfExists As Long, _
    ByVal dwFlagsAndAttributes As Long, ByVal dwFlags As Long, _
    ByRef dwContext As Long) As Boolean
     
    Private Declare Function FtpPutFile Lib "wininet.dll" Alias _
    "FtpPutFileA" (ByVal hConnect As Long, ByVal lpszLocalFile As String, _
    ByVal lpszNewRemoteFile As String, ByVal dwFlags As Long, _
    ByVal dwContext As Long) As Boolean
    L'exécution se fait, je n'ai pas de message d'erreur, mais le fichier n'est pas transféré sur le site FTP.

    user et pass sont correcte.

    Qu'ai je mal compris?

  4. #4
    Membre du Club
    Inscrit en
    Novembre 2010
    Messages
    105
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 105
    Points : 65
    Points
    65
    Par défaut
    Arf non c'est moi qui ai mal rentré le user :/

    J'ai pourtant vérifié ><

    Désolé et encore merci pour votre aide, ce forum est génial.

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

Discussions similaires

  1. Envoyer un fichier sur un serveur ftp
    Par Pascmar dans le forum Réseau/Web
    Réponses: 2
    Dernier message: 15/08/2007, 23h16
  2. Envoyer un fichier sur un serveur FTP par proxy
    Par Tierisa dans le forum Access
    Réponses: 4
    Dernier message: 13/12/2005, 16h39
  3. Envoi de fichier sur un serveur FTP
    Par pepe2006 dans le forum Access
    Réponses: 6
    Dernier message: 02/12/2005, 10h19
  4. Réponses: 4
    Dernier message: 15/09/2005, 13h27
  5. [FTP] Test de l'existence d'un fichier sur un serveur ftp
    Par lapartdombre dans le forum Entrée/Sortie
    Réponses: 9
    Dernier message: 01/08/2005, 14h13

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