Microsoft 365 Problème de dépose .csv sur serveur FTP

  • Initiateur de la discussion Initiateur de la discussion xhudi69
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

xhudi69

XLDnaute Accro
Bonjour,
j'ai un soucis pour déposer un .csv sur serveur FTP d'un opérateur.
Le code se déroule bien:
ouverture internet = ok
connexion au serveur = ok
mais pour la dépose il me retourne False.

La ligne où cela bug:
VB:
If FtpPutFileA(hConn, strLocalFile, strRemoteFile, 0, 1) Then
j'ai essayé différent dwFlags et dwContext mais n'y fait

la dépose en glissé/déposé via FileZilla se déroule bien
le serveur est en SSL implicite port 990
ci_dessous le code
Merci pour votre aide.
VB:
Private Declare Function InternetOpenA Lib "wininet.dll" ( _
    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 InternetConnectA Lib "wininet.dll" ( _
    ByVal hInternetSession As Long, _
    ByVal sServerName As String, _
    ByVal nServerPort As Long, _
    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 FtpPutFileA _
   Lib "wininet.dll" _
       (ByVal hFtpSession As Long, _
        ByVal lpszLocalFile As String, _
        ByVal lpszRemoteFile As String, _
        ByVal dwFlags As Long, _
        ByVal dwContext As Long) As Boolean
 
Private Declare Function InternetCloseHandle Lib "wininet" ( _
    ByVal hInet As Long) As Long
    
Private Declare Function FtpGetFileA Lib "wininet.dll" ( _
    ByVal hConnect As Long, _
    ByVal lpszRemoteFile As String, _
    ByVal lpszNewFile As String, _
    ByVal fFailIfExists As Long, _
    ByVal dwFlagsAndAttributes As Long, _
    ByVal dwFlags As Long, _
    ByVal dwContext As Long) As Long
Sub FtpUpload_NONO()
Dim F As Worksheet, hOpen  As Long, hConn  As Long
Set F = Sheets("Feuil1")
'==================================================================
strHost = F.Range("B1").Text
lngPort = F.Range("B2").Value
strUser = F.Range("B3").Text
strPass = F.Range("B4").Text
strLocalFile = F.Range("B5").Text
strRemoteFile = F.Range("B6").Text

hOpen = InternetOpenA("PutFtpFile", 1, vbNullString, vbNullString, 1)
hConn = InternetConnectA(hOpen, strHost, lngPort, strUser, strPass, 3, 0, 2)
If FtpPutFileA(hConn, strLocalFile, strRemoteFile, 1, 0) Then
    MsgBox "Success"
Else
    MsgBox "Fail"
End If

InternetCloseHandle hConn
InternetCloseHandle hOpen
 
End Sub
 
Bonjour Hasco,

strLocalFile et strRemoteFile sont valorisés comme suit dans le code:
VB:
strLocalFile = F.Range("B5").Text
strRemoteFile = F.Range("B6").Text
il est vrai qu'ils ne sont pas déclarés, mais ce code fonctionne très bien sur un serveur FTP non sécurisé.
je vais quand même les déclarer, juste pour voir...

merci pour votre réponse.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
2
Affichages
2 K
Réponses
2
Affichages
2 K
Retour