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

Macros et VBA Excel Discussion :

Prob macro pour enregistrer un doc sur ftp avec vba


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Prob macro pour enregistrer un doc sur ftp avec vba
    Bonjour a tous,

    J'ai un petit problème concernant mon code vba:
    "connexion impossible" alors que mes identifiant sont bon. Voici le code:

    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
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    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 GED_Client()
        'transfère des fichiers du disque local vers un serveur ftp (upload, mode passif)
     
    'PARAMETRES************************
    fichier = "c:\Utilisateurs\nmas\Bureau\Audit Ged Client.docx"
    login = "monlogin"
    mot_passe = "monmp"
    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, "ftp://192.168.10.4", 8025, 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
    Lorsque je crée ma macro sous word j'ai ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Sub GEDClient
     
    End Sub
    Dans ce module j'appel l'autre module avec le code pour se connecter:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Sub GEDClient
         Call GED_Client
    End Sub
    Or là : "Sub ou Function non défini"

    Ouvert à toute proposition
    MERCI d'avance

  2. #2
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    Salut,

    J'ai reussi à trouver ce qui bloquais:
    Lorsqu'on passe l'adresse ftp en parametre faut pas mettre "ftp://"

    Merci quand meme
    A+

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

Discussions similaires

  1. Réponses: 9
    Dernier message: 04/02/2013, 13h45
  2. Réponses: 12
    Dernier message: 31/07/2007, 15h21
  3. [VB] macro pour enregistrer sous
    Par CélineM dans le forum SDK
    Réponses: 1
    Dernier message: 07/06/2007, 12h28
  4. macro pour enregistrer sous
    Par macromega dans le forum Général VBA
    Réponses: 2
    Dernier message: 03/05/2007, 19h17
  5. [VBA-E] Macro Pour Faire un Tri sur plage variable
    Par tabarly35 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 19/09/2006, 19h02

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