Macro Excel et serveur ftp
n
Bonjour,
Je souhaite savoir si il existe et si c'est possible de créer une macro pour télécharger automatiquement des fichier sur un serveur ftp
par exemple:
je clique sur un bouton* dans excel qui se nomme "Mise a jour" et hop il télécharge les fichiers en question.
cette procédure sera protégée par un mot de passe avec une userform
merci.
Z
Bonjour,
Alors cela doit exister, voici un bout de code que j'utilise pour transmettre de façon automatique des fichiers .csv sur le FTP d'un de nos fournisseurs :
Public Sub ExportFTP(Login As String, Mdp As String, NomFichier As String)
On Error GoTo Err_Sub
Dim HwndConnect As Long
Dim HwndOpen As Long, MyFile
' On récupère l'adresse IP dans les CGR
Dim SiteFTP
' Définir l'adresse IP - ICI
SiteFTP = "XXX.XXX.XXX.XXX"
' Lance l'ouverture du site ftp
HwndOpen = InternetOpen("ftp://" & SiteFTP & "/FTP", 0, vbNullString, vbNullString, 0)
'Connection au site ftp
HwndConnect = InternetConnect(HwndOpen, SiteFTP, 21, Login, Mdp, 1, 0, 0)
If HwndConnect = 0 Then
FlagFTP = 1
InternetCloseHandle HwndConnect
InternetCloseHandle HwndOpen
Exit Sub
End If
'positionnement du curseur dans le répertoire
FtpSetCurrentDirectory HwndConnect, "/FTP"
FtpPutFile HwndConnect, "C:\Users\" & sUSer & "\Desktop\CSV\" & Fichier, Fichier, &H0, 0
' Ferme le handle de connection puis celui d'Internet
InternetCloseHandle HwndConnect
InternetCloseHandle HwndOpen
Exit Sub
Err_Sub:
MsgBox "Une erreur c'est produite, arrêt de la macro"
InternetCloseHandle HwndConnect 'Ferme la connection
InternetCloseHandle HwndOpen 'Ferme internet
FlgErr = True
End
End SubIl faut juste trouver la fonction qui "download" au lieu "d'uploader" et donc remplacer FtpPutFile par la bonne fonction (FtpGetFile ?) .
Ainsi que modifier les chemins, adresse ip,... mais cela devrait fonctionner je pense.
Cordialement,