• Initiateur de la discussion Initiateur de la discussion ipotez
  • 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 !

ipotez

XLDnaute Occasionnel
Question peut être saugrenue mais je me demandais si il etait possible de programmer l'envoi d'un classeur Excel vers un FTP.

Merci de ne pas rire si c'est ridicule 😛
 
Re : Macro FTP

bon ben j'ai essayé les virgules mais snif, ça ne passe pas.

Si j'ai bien compris ton explication il faut ke je colle les chemins dans une feuille et que j'envoie les références des cellules dans le code ?!? J'ai bon ? 😉

par contre je ne vois pas ou coller les références dans ce code
signé : el bouleto !
 
Re : Macro FTP

bon ben j'ai essayé les virgules mais snif, ça ne passe pas.

Si j'ai bin compris ton explication il faut ke je colle les chemins dans une feuille et que j'envoie les references des cellules dans le code ?!? J'ai bon ? 😉

par contre je ne vois pas ou coller les references dans ce code
signé : el bouleto 🙂
 
Re : Macro FTP

ok j'ai rien dis, donc si j'ai bien compris il faut que je crée un tableau de ce genre :

Code:
Tableau = Array("1er SemestreDD", "1er SemestreCF", "1er SemestreAM", _
       "1er SemestreFL", "1er SemestreRV", "1er SemestreYB", _
       "1er SemestreOccas1", "1er SemestreOccas2", "1er SemestreOccas3", _
       "1er SemestreOccas4", "1er SemestreOccas5", "2nd SemestreDD", _
        "2nd SemestreCF", "2nd SemestreAM", "2nd SemestreFL", "2nd SemestreRV",_
        "2nd SemestreYB", "2nd SemestreOccas1", "2nd SemestreOccas2",_
        "2ndSemestreOccas3", "2nd SemestreOccas4", "2nd SemestreOccas5")

mais je ne vois pas comment déclarer le tableau et faire uploader par exemple la feuille "1er SemestreDD" et "2nd SemestreDD"
c'est désespérant ...😱
 
Re : Macro FTP

Re 🙂,
C'est sûr qu'on est pas sorti 😛...
Code:
[COLOR=red]fichier = "c:\"[/COLOR]
'''
Dim Tableau, I As Integer
Tableau = Array("1er SemestreDD", "1er SemestreCF", "1er SemestreAM", _
    "1er SemestreFL", "1er SemestreRV", "1er SemestreYB", _
    "1er SemestreOccas1", "1er SemestreOccas2", "1er SemestreOccas3", _
    "1er SemestreOccas4", "1er SemestreOccas5", "2nd SemestreDD", _
    "2nd SemestreCF", "2nd SemestreAM", "2nd SemestreFL", "2nd SemestreRV", _
    "2nd SemestreYB", "2nd SemestreOccas1", "2nd SemestreOccas2", _
    "2ndSemestreOccas3", "2nd SemestreOccas4", "2nd SemestreOccas5")
For I = LBound(Tableau) To UBound(Tableau)
'transférer le fichier
    succès = FtpPutFile(ftp_ok, fichier & Tableau(I), Tableau(I), bin_asc, 0)
    If succès Then
        résult = résult & Tableau(I) & " a été transféré " & vbCrLf
    Else
        résult = résult & Tableau(I) & " n'a pas pu être transféré" & vbCrLf
    End If
Next I
en indiquant le chemin d'accès à la place du chemin + nom de fichier (j'ai garder l'ancien nom de la variable "fichier", mais pour une meilleure compréhension, il vaudrait mieux la nommer "Chemin"...).
N'oublie pas de supprimer
Code:
[COLOR=red]'nom du fichier sans le chemin[/COLOR]
[COLOR=red]   nomfich = fichier[/COLOR]
[COLOR=red]   Do While InStr(nomfich, "\") > 0[/COLOR]
[COLOR=red]   nomfich = Right(nomfich, Len(nomfich) - InStr(nomfich, "\"))[/COLOR]
[COLOR=red]   Loop[/COLOR]
qui n'a plus de raison d'être.
Attention, il n'y a pas d'extensions, donc soit tu les rajoutes dans le tableau, soit si c'est tout du .pdf, tu modifies
Code:
succès = FtpPutFile(ftp_ok, fichier & Tableau(I) [COLOR=red]& ".pdf"[/COLOR], Tableau(I) [COLOR=red]& ".pdf"[/COLOR], bin_asc, 0)
Maintenant, depuis le début, tu parles de PDF en stocks, si maintenant tu veux les générer à la vollée, c'est toute une autre affaire, mais en cherchant sur le forum, tu trouveras moult posts avec de bonnes réponses 😉...
Bonne journée 😎
 
Re : Macro FTP

Salut JNP, bon alors j'ai effectué les modifs que tu m'as conseillé, j'espère ne pas m'être trompé. J'ai remplacé Fichier par chemin et indiqué le chemin du repertoire locale, j'ai supprimé les lignes qui du coup ne servent plus, j'ai rajouté la ligne qui dit qu'il ne s'agit que de PDF.

Quand je lance le bouzin, il bloque sur la ligne InternetOpen 😕
je déprime sévère, vois tu ce qui cloche ?

ps : j'ai mon devis formation, 900 € pour 3 jours 😱
j'espère que ça va assurer...

Merci pour ton aide
damien

Code:
Sub FTP()
chemin = "C:\Users\lulu\Desktop\pdfmail"
login = "TUTUTE"
mot_passe = "POUETPOUET"
rép = "pdf/"
bin_asc = &H2 '(&H1 ascii, &H2 binaire)
Mode = &H8000000 '(&H8000000 mode passif, 0 mode actif)
'**********************************

Dim Tableau, I As Integer
Tableau = Array("1er SemestreDD", "1er SemestreCF", "1er SemestreAM", _
    "1er SemestreFL", "1er SemestreRV", "1er SemestreYB", _
    "1er SemestreOccas1", "1er SemestreOccas2", "1er SemestreOccas3", _
    "1er SemestreOccas4", "1er SemestreOccas5", "2nd SemestreDD", _
    "2nd SemestreCF", "2nd SemestreAM", "2nd SemestreFL", "2nd SemestreRV", _
    "2nd SemestreYB", "2nd SemestreOccas1", "2nd SemestreOccas2", _
    "2ndSemestreOccas3", "2nd SemestreOccas4", "2nd SemestreOccas5")
For I = LBound(Tableau) To UBound(Tableau)

'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, "TRALALA", 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
    

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

'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
 
Re : Macro FTP

youhou, j'ai trouvé, désolé pour tous les messages parasites, en fait j'avais zappé le \ après le nom du chemin, oui je sais....

Allez je mets le code pour tous ceux que cela intéressent :

Code:
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()
chemin = "C:\PDF\"
login = "tutute"
mot_passe = "pouetpouet"
rép = "pdf/"
bin_asc = &H2 '(&H1 ascii, &H2 binaire)
Mode = &H8000000 '(&H8000000 mode passif, 0 mode actif)
'**********************************

Dim Tableau, I As Integer
Tableau = Array("1er SemestreDD", "1er SemestreCF", "1er SemestreAM", _
    "1er SemestreFL", "1er SemestreRV", "1er SemestreYB", _
    "1er SemestreOccas1", "1er SemestreOccas2", "1er SemestreOccas3", _
    "1er SemestreOccas4", "1er SemestreOccas5", "2nd SemestreDD", _
    "2nd SemestreCF", "2nd SemestreAM", "2nd SemestreFL", "2nd SemestreRV", _
    "2nd SemestreYB", "2nd SemestreOccas1", "2nd SemestreOccas2", _
    "2ndSemestreOccas3", "2nd SemestreOccas4", "2nd SemestreOccas5")
For I = LBound(Tableau) To UBound(Tableau)

'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, "crac-crac", 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
    


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

'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

encore un grand merci à tous ceux qui m'ont aidés !!!
 
Re : Macro FTP

Re 🙂,
Avant toute chose, une bête question les fonctions décrites ICI sont-elles toujours bien présentes dans ton fichier ?
Pour la formation, 900€, c'est pas cher. Tu la fait en intra avec d'autres de ta boîte ? Si à ce prix là, tu est en individuel, c'est buenos 😛.
Regarde bien le programme. A titre d'exemple, un Ce lien n'existe pluspar une société compétente (je ne fait pas de pub, c'est surtout le programme qui est intéressant car complet) en 4 j à 2120€.
Bon courage 😎
 
- 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
12
Affichages
646
Réponses
1
Affichages
174
  • Question Question
Microsoft 365 problème d'index
Réponses
19
Affichages
498
Réponses
4
Affichages
481
Retour