Problème Macro FTP !

ipotez

XLDnaute Occasionnel
Jutilise cette macro qui me permet de charger un classeur excel sur un serveur en ftp.

Problème : Lorsque je modifie le classeur et que je l'envoie en ligne, le changements sont bien été effectués (j'en suis sur car il me crée un pdf en même temps qui est bien modifié), par contre quand je le télécharge il me rouvre le fichier avant modification....

J'ai essayé de vider le cache d'IE pour régler ça, j'ai cherché dans tous les dossiers
pour savoir d'ou venait cette version plus ancienne, impossible de trouver.

Excel a t il un cache ou un truc comme ça ?? Merci de votre aide, je suis désespéré

Code:
Attribute VB_Name = "transfert_fich"



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
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
Declare Function FtpSetCurrentDirectory Lib "wininet.dll" Alias _
     "FtpSetCurrentDirectoryA" (ByVal hFtpSession As Long, _
     ByVal lpszDirectory As String) As Boolean
Declare Function FtpPutFile Lib "wininet.dll" Alias "FtpPutFileA" ( _
     ByVal hFtpSession As Long, _
     ByVal lpszLocalFile As String, _
     ByVal lpszRemoteFile As String, _
     ByVal dwFlags As Long, _
     ByVal dwContext As Long) As Boolean
Declare Function InternetCloseHandle Lib "wininet.dll" (ByVal hInet As Long) As Integer


Sub ftp()
'transfère des fichiers du disque local vers un serveur ftp (upload, mode passif)

'PARAMETRES************************
fichier = "c:\rien.doc"
login = "zaza"
mot_passe = "miaou"
rép = "/"
bin_asc=&H2 '(&H1 ascii, &H2 binaire)
mode=&H8000000 '(&H8000000 mode passif, 0 mode actif)
'**********************************

'lancer le transfert
internet_ok = InternetOpen("PutFtpFile", 1, "", "", 0)
    If internet_ok = 0 Then
    MsgBox "connection internet impossible"
    Exit Sub
    End If
ftp_ok = InternetConnect(internet_ok, "ftpperso.free.fr", 21, login, mot_passe, 1, mode, 0)
    If ftp_ok = 0 Then
    MsgBox "connection  impossible"
    Exit Sub
    End If
sélect_rép = FtpSetCurrentDirectory(ftp_ok, rép)
    If sélect_rép = 0 Then
    MsgBox "impossible de trouver le répertoire "
    Exit Sub
    End If

'nom du fichier sans le chemin
    nomfich = fichier
    Do While InStr(nomfich, "\") > 0
    nomfich = Right(nomfich, Len(nomfich) - InStr(nomfich, "\"))
    Loop

'transférer le fichier
     succès = FtpPutFile(ftp_ok, fichier, nomfich,bin_asc, 0)
    If succès Then
    résult = nomfich & " a été transféré "
    Else
    résult = nomfich & " n'a pas pu être transféré"
    End If

'fermer les pointeurs, ménage
    InternetCloseHandle ftp_ok
    InternetCloseHandle internet_ok

'annoncer le résultat de l'opération
    If résult <> "" Then
    MsgBox résult
    Else
    MsgBox "aucun fichier transféré"
    End If

End Sub
 

kiki29

XLDnaute Barbatruc
Re : Problème Macro FTP !

Salut,pour vider le cache ,tu choisis pour le reste plus de serveur pour aller plus loin
Code:
Option Explicit

Sub Clear_All()
    Shell "RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 255"
End Sub

Sub Clear_Clear_Add_ons_Settings()
    Shell "RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 4351"
End Sub

Sub Clear_Cookies()
    Shell "RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 2"
End Sub

Sub Clear_Form_Data()
    Shell "RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 16"
End Sub

Sub Clear_History()
    Shell "RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 1"
End Sub

Sub Clear_Saved_Passwords()
    Shell "RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 32"
End Sub

Sub Clear_Temp_Files()
    Shell "RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 8"
End Sub
 

ipotez

XLDnaute Occasionnel
Re : Problème Macro FTP !

Ben oui j'utilise celle ci :
(Qui marche d'ailleurs)

Sub Clear_Temp_Files()
Shell "RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 8"

Mais le pb est le même, le fichier qui s'ouvre est plus ancien que celui qui est sur le serveur.
D'ou vient il ???

Quand je le télécharge sur un autre poste aucun soucis, il est a jour? !?!?
 

ipotez

XLDnaute Occasionnel
Re : Problème Macro FTP !

Vu que le cache d'IE est vide, ce fichier doit être mémorisé quelque part ailleurs ???? Peut être par excel dans un dossier temporaire ???
C'est la galère, le système est devenu complètement inutilisable, trop de risque de renvoyer en ftp l'ancien fichier...... je déprime !!!!!
 

Discussions similaires

Statistiques des forums

Discussions
312 228
Messages
2 086 421
Membres
103 205
dernier inscrit
zch