begin process at 2013 05 24 22:37:48
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Visual Basic 6

 > 

Divers

 > 

Trucs & Astuces

 > 

transfert de fichier


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

transfert de fichier

jeudi 7 mars 2013 à 13:09:56 | transfert de fichier

onha

Bonjour a vous tous

Excel 2010

J'utilise le script ci dessous pour récupérer un fichier qui ce trouve sur un serveur.

Le transfert fonctionne parfaitement, la seule chose c'est que je suis obligé de quitter Excel à chaque fois que je veux récupérer le meme fichier qui a été modifier.

Cette même macro fonctionne parfaitement sous un excel 2003 et je ne suis pas obligé de quitter excel pour récupérer le fichier.

J'ai cherché sur la toile mais je n'ai pas trouvé.

Merci pour votre aide

Onha
jeudi 7 mars 2013 à 13:16:52 | Re : transfert de fichier

ucfoutu

Membre Club
Bonjour,

J'utilise le script ci dessous


Sacrément bien caché, ce fameux script !

la seule chose c'est que je suis obligé de quitter Excel à chaque fois que je veux récupérer le meme fichier qui a été modifier.


Mais tu n'es pas ici dans la section adéquate (Langages dérivés > VBA), mais dans la section :

Forum > Visual Basic 6


Qui n'a rien à voir avec VBA
Je vais donc personnellement apporter à ta réponse, le même "soin" que toi, à ta demande : J'attendrai :
- qu'un administrateur bienveillant ait bien voulu déplacer ta discussion
- que tu aies "bien voulu" (!) présenter ici la portion de code qui pose problème !
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
jeudi 7 mars 2013 à 13:34:25 | Re : transfert de fichier

onha


oups voici le fameu script

Declare PtrSafe 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 PtrSafe 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 PtrSafe Function FtpSetCurrentDirectory Lib "wininet.dll" Alias _
"FtpSetCurrentDirectoryA" (ByVal hFtpSession As Long, _
ByVal lpszDirectory As String) As Boolean
Declare PtrSafe 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

dans le sub
'Récupération du PRN
Internet_OK = InternetOpen("", 1, "", "", 0)
If Internet_OK Then
FTP_OK = InternetConnect(Internet_OK, "xxx.xxx.xxx.xxx", 21, "login", "mdp", 1, 0, 0)
If FtpSetCurrentDirectory(FTP_OK, "/") Then
succès = FtpGetFile(FTP_OK, "DAS002.PRN", "c:\adpprn\DAS002.PRN", False, 0, &H0, 0)
End If
End If

Onha
jeudi 7 mars 2013 à 14:34:37 | Re : transfert de fichier

ucfoutu

Membre Club
Je ne vois absolument rien qui, dans le code montré, réagirait différemment sous VBA 2003 et vba 2007 ! VBA n'y est même à aucun moment sollicité ! >>Seules le sont des fonctions de l'Api de Windows.
Ton problème est donc totalement ailleurs.
Mais j'attendrai, pour continuer, que cette diçscussion soit déplacée dans la section adéquate.

________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
jeudi 7 mars 2013 à 15:12:41 | Re : transfert de fichier

onha


Merci pour la réponse est ce qu'il ne faudrait pas vider une mémoire quelconque.

Onha
jeudi 7 mars 2013 à 16:55:12 | Re : transfert de fichier

ucfoutu

Membre Club
Si tu veux supprimer le fichier du serveur ftp ===>> fonction FtpDeleteFile
Il me semble surtout que tu n'as pas fermé la connexion ouverte (InternetCloseHandle)
Mais relis donc mon dernier message. Je n'irai pas plus loin dans cette attente.
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
jeudi 7 mars 2013 à 19:49:56 | Re : transfert de fichier
vendredi 8 mars 2013 à 10:24:00 | Re : transfert de fichier

onha

Je viens de modifier le script rajout de la fermeture de la connexion.

J'ai également après récupération du fichier, utiliser la fonction ftpdeletefile et malgrés tout il me récupère le premier fichier téléchargé

Onha
vendredi 8 mars 2013 à 10:38:14 | Re : transfert de fichier

ucfoutu

Membre Club
Ecoute :
vraiment rien à voir avec la différence de versions de Excel, sur ce bout de code montré.
C'est donc ailleurs qu'il faut en chercher la cause, qui est peut-être un autre OS, mieux protégé.



________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
jeudi 28 mars 2013 à 15:22:21 | Re : transfert de fichier

onha


Bonjour,

Après avoir effectué quelque recherche sur le net et sur ma machine

Je me suis rendu compte que lors du transfert ftp le système me crée une copie du fichier que je transfert et le met sous C:\Users\"user"\AppData\Local\Microsoft\Windows\Temporary Internet Files

N'aurait il pas une possibilité de ne pas effectuer de copie en temp ?

Je mets ci-dessous le nouveau code que j'utilise

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

sub recupftp()

Dim HwndConnect As Long
Dim HwndOpen As Long
'Ouvre internet
HwndOpen = InternetOpen("SiteWeb", 0, vbNullString, vbNullString, 0)
'Connection au site ftp
HwndConnect = InternetConnect(HwndOpen, "10.26.2.18", 21, "recup0", "recup0", 1, 0, 0)
'positionnement du curseur dans le répertoire
FtpSetCurrentDirectory HwndConnect, "/"
'Téléchargement de test.txt
FtpGetFile HwndConnect, "DAS005.PRN", "c:\adpprn\DAS005.PRN", False, 0, &H0, 0

InternetCloseHandle HwndConnect 'Ferme la connection
InternetCloseHandle HwndOpen 'Ferme internet

end sub


Onha


Cette discussion est classée dans : fichier, récupérer, excel, transfert, fonctionne


Répondre à ce message

Sujets en rapport avec ce message

récupérer nom utilisateur fichier sur réseau ? [ par Yrdev ] Bonjour à tous,J'ai développé une application Excel de gestion des stocks en VBa. Je fais régulièrement des mises à jour sur des classeurs Excel mis e Problème ouverture autre fichier excel lorsque une routine fonctionne [ par skar13 ] salut,Voici mon problème...Je dois faire une routine VB mais pas en EXE donc je l'ai faite sous excel mais lorsque la routine fonctionne on ne peut pa Comment récupérer un fichier excel à partir d'access [ par Chantal927 ] J'aimerais récupérer, automatiquement, un fichier excel à partir d'access et l'envoyer toujours automatiquement par mail... qui aurait une petite idée Transfert de données entre deux fichiers Excel [ par merlinwap ] Salut à tous,Tout d'abord merci d'avance de bien vouloir prendre un peu de votre temps pour lire et répondre à cette demande d'aide.J'ai deux fichier balayer un .txt [ par SofieV ] Bonjour !je développe d'habitude en VBA et là je dois faire un bout de programme en VBS ( avec le notepad ) alors je galère complètement....Je voudrai Récupérer un nom de feuille Excel dans un inputbox [ par Nico le dodo ] Salut à tous,J'aimerais récupérer un nom de feuille d'un classeur Excel...Jusqu'ici j'ai réussi à faire ouvrir un explorateur pour sélectionner le fic Transfert données EXCEL vers .txt ou .doc en VBA [ par P80176 ] Bonjour,J'aimerais de l'aide pour un développement EXCEL VBA (version 2000).En effet, je dois créer un fichier .doc ou .txt à partir d'un fichier EXCE Transfert d'info d'un fichier Excel vers un autre via VB [ par Monastre ] Bonjour,je voudrais savoir s'il est possible de récupérer une ligne d'un fichier Excel et de la copier vers un autre fichier Excel, et si oui comment Récupérer le nom d'un fichier par Drag&drop dans Excel 2000 [ par L_Stout ] Bonjour,Je fais une macro qui à besoin d'un nom de fichier en entrée. Et je souhaite que l'utilisateur puisse lancer la macro directement en déplaçant récupérer chaque jour des donées dans un nouveau fichier Excel [ par Tang2006 ] Bonjour,  Je calcule au jour le jour la valeur d'un bien, pour cela je doit créer chaque jour un fichier Excel nommé selon le shémat suivant : "nom, d


Nos sponsors


Sondage...

CalendriCode

Mai 2013
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 5,351 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales