En fouillant un peu sur le net, j'ai trouvé un code qui semble fonctionner sur mon PC.
Le voici adapté au fichier proposé :
Option Explicit
Private Declare PtrSafe Function TelechargerFichierURL Lib "urlmon" Alias "URLDownloadToFileA" _
(ByVal pCaller As Long, ByVal szURL As String, ByVal szFileName As String, ByVal dwReserved As Long, ByVal lpfnCB As Long) As Long
Private Const ERROR_SUCCESS As Long = 0
Private Const BINDF_GETNEWESTVERSION As Long = &H10
Public Const DOSSIER = "D:\"
Sub Go(Optional x As Byte)
Dim Rep As String, srce As String, dest As String, i As Long, j As Integer, ok As Boolean
With ActiveSheet
For i = 2 To ActiveSheet.Cells(Rows.Count, "C").End(xlUp).Row
Rep = DOSSIER & .Cells(i, "F").Value & "\"
If Not Exist_Rep(Rep) Then MkDir Rep
Rep = Rep & .Cells(i, "C").Value & "\"
If Not Exist_Rep(Rep) Then MkDir Rep
For j = 7 To 50 Step 3
If Not .Cells(i, j).Value = "" Then
srce = .Cells(i, j).Value
dest = Rep & .Cells(i, j + 1).Value & ".jpg"
If Not Exist_Fichier(dest) Then ok = TelechargerFichierInternet(srce, dest)
End If
Next j
Next i
End With
End Sub
' de https://excel-malin.com/codes-sources-vba/telecharger-fichier-internet/
Public Function TelechargerFichierInternet(SourceUrl As String, FichierLocal As String) As Boolean
TelechargerFichierInternet = TelechargerFichierURL(0&, SourceUrl, FichierLocal, BINDF_GETNEWESTVERSION, 0&) = ERROR_SUCCESS
End Function
L'ensemble de ce code est à copier/coller à la place de l'ancienne proposition, et le bouton de lancement est à déplacer sur la feuille "exemple"
A noter : c'est pas très rapide ... lancer et aller boire un café ... ou même 2
Il faut aussi adapter le nom du dossier "initial" D:\ à la place de : Public Const DOSSIER = "D:\"
Pierre