Aide à la création d'une macro pour télécharger des images

Bonjour tout le monde,

J'écris ce message car j'aurai besoin d'un petit coup de main concernant la création d'une macro pour télécharger des images depuis des liens situés dans une colonne de Exel. (Voir document joint)

J'ai utiliser un logiciel de scrapping pour récupérer la data d'un catalogue d'image d'un site. Mais problème, dans mon exel là où il devrait y avoir des images, il y a seulement leurs liens (Colonne B). J'ai fait mes recherches et j'ai trouver cette article : http://stackoverflow.com/questions/14675830/how-to-download-all-links-in-column-a-in-a-folder?noredirect=1&lq=1

Petit problème, je n'ai jamais réussit à configurer le bout de code en question pour faire marcher cette macro.

Auriez vous une solution plus simple pour le même résultat? Savez vous configurer ce genre de code?

Je vous remercie d'avance pour votre aide

Bonjour,

Les données de ton csv sont à nettoyer pour obtenir des liens fonctionnels.

Sinon, une fois avec des des données propres, on peut faire comme ceci :

Option Explicit

Sub Import_Jpg()
Dim T As Variant
Dim Rep As String, Url As String, NDF As String
Dim lig As Long, i As Long, idx As Integer

    With ActiveSheet
        lig = .Cells(Rows.Count, 1).End(xlUp).Row
        T = .Range(.Cells(1, "A"), .Cells(lig, "B")).Value
    End With

    Rep = ThisWorkbook.Path & "\Jpg\"
    If Not Exist_Rep(Rep) Then MkDir Rep

    For i = 2 To lig
        Url = T(i, 2)
        NDF = Rep & Right(Url, InStr(1, StrReverse(Url), "/") - 1)
        If Not Exist_Fichier(NDF) Then idx = DownloadHTTP(Url, NDF)
    Next i

End Sub

Function Exist_Rep(Rep As String) As Boolean
    On Error Resume Next
    Exist_Rep = GetAttr(Rep) And vbDirectory
End Function

Public Function Exist_Fichier(S As String) As Boolean
Dim tatiak As Object

    Set tatiak = CreateObject("Scripting.FileSystemObject")
    Exist_Fichier = tatiak.FileExists(S)
End Function

Function DownloadHTTP(Url As String, NDF As String) As Integer
Dim f As Integer, buffer() As Byte

    On Error GoTo errhdlr
    With CreateObject("MSXML2.XMLHTTP")
        .Open "GET", Url, False
        .send
        If .Status = 200 Then
           f = FreeFile
           Open NDF For Binary As #f
           buffer = .responseBody
           Put #f, , buffer
           Erase buffer
           Close #f
           DownloadHTTP = 0
        End If
    End With
    Exit Function

errhdlr:
    DownloadHTTP = -1
End Function
111import-jpg.xlsm (26.83 Ko)
Rechercher des sujets similaires à "aide creation macro telecharger images"