Excel macro enregistre image
Résolu
tchernosplif
Messages postés
714
Statut
Membre
-
tchernosplif Messages postés 714 Statut Membre -
tchernosplif Messages postés 714 Statut Membre -
Bonjour,
J'ai une liste d'adresses d'images hébergées sur internet dans un classeur Excel.
en face de chaque adresse, j'ai un chemin pour télécharger l'image.
Exemple:
http://www.totalreunion.fr/os/mainpicture/NT0002F4EA.jpg => C:\total.jpg
http://www.e-dico.fr/blog/images/tous-les-logos-renault.jpg => C:\renault.jpg
....
Savez vous s'il est possible d'utiliser excel comme un gestionnaire de téléchargement via une macro ?
-telecharge l'image en enregistrant au chemin indiqué et passe à la suivante.
Merci pour votre aide.
J'ai une liste d'adresses d'images hébergées sur internet dans un classeur Excel.
en face de chaque adresse, j'ai un chemin pour télécharger l'image.
Exemple:
http://www.totalreunion.fr/os/mainpicture/NT0002F4EA.jpg => C:\total.jpg
http://www.e-dico.fr/blog/images/tous-les-logos-renault.jpg => C:\renault.jpg
....
Savez vous s'il est possible d'utiliser excel comme un gestionnaire de téléchargement via une macro ?
-telecharge l'image en enregistrant au chemin indiqué et passe à la suivante.
Merci pour votre aide.
A voir également:
- Excel macro enregistre image
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Si ou excel - Guide
- Déplacer colonne excel - Guide
2 réponses
Option Explicit
Private Declare Function URLDownloadToFile 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 Sub CommandButton1_Click()
Dim Cible As String
Call DownloadFilefromWeb
End Sub
Sub DownloadFilefromWeb()
'la premiere image est en Y3
Range("Y3").Select
Dim x As Integer
'Boucle nombres de pages -1 (cellule I5)
For x = 1 To 10
Dim strSavePath As String
Dim URL As String, ext As String
Dim buf, ret As Long
URL = ActiveCell.Value
buf = Split(URL, ".")
ext = buf(UBound(buf))
ActiveCell.Offset(0, 1).Select
strSavePath = ActiveCell.Value
ret = URLDownloadToFile(0, URL, strSavePath, 0, 0)
ActiveCell.Offset(1, -1).Select
Next x
End Sub
Private Declare Function URLDownloadToFile 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 Sub CommandButton1_Click()
Dim Cible As String
Call DownloadFilefromWeb
End Sub
Sub DownloadFilefromWeb()
'la premiere image est en Y3
Range("Y3").Select
Dim x As Integer
'Boucle nombres de pages -1 (cellule I5)
For x = 1 To 10
Dim strSavePath As String
Dim URL As String, ext As String
Dim buf, ret As Long
URL = ActiveCell.Value
buf = Split(URL, ".")
ext = buf(UBound(buf))
ActiveCell.Offset(0, 1).Select
strSavePath = ActiveCell.Value
ret = URLDownloadToFile(0, URL, strSavePath, 0, 0)
ActiveCell.Offset(1, -1).Select
Next x
End Sub
bonjour tchernosplif,
C'est parfait, tu as fait la demande et la réponse !
Si je peux me permettre, comme je n'aime pas écrire du code inutile, je te suggère de simplifier ainsi ta procédure, avec contrôle du bon déroulement :
C'est parfait, tu as fait la demande et la réponse !
Si je peux me permettre, comme je n'aime pas écrire du code inutile, je te suggère de simplifier ainsi ta procédure, avec contrôle du bon déroulement :
Sub DownloadFilefromWeb()
Dim x As Integer
Dim ret As Long
'la premiere image est en Y3
With Range("Y3")
'Boucle nombres de pages -1 (cellule I5)
For x = 0 To [I5].Value - 1
ret = URLDownloadToFile(0, .Offset(x, 0).Value, .Offset(x, 1).Value, 0, 0)
If ret <> 0 Then MsgBox "Fichier erroné " & .Offset(x, 1).Value
Next x
End With
End Sub
Bonjour,
Merci pour ta réponse, je vais simplifier la procédure comme tu le suggères.
Je réalise que j'ai oublié d'enlever ce commentaire
'Boucle nombres de pages -1 (cellule I5)
ça pourra toujours servir à ceux qui liront ton post ^^
Je ne vais pas contrôler le bon déroulement et utiliser de MsgBox, car cette macro s'inscrit elle même dans une boucle, mais merci quand même.
@+
Merci pour ta réponse, je vais simplifier la procédure comme tu le suggères.
Je réalise que j'ai oublié d'enlever ce commentaire
'Boucle nombres de pages -1 (cellule I5)
ça pourra toujours servir à ceux qui liront ton post ^^
Je ne vais pas contrôler le bon déroulement et utiliser de MsgBox, car cette macro s'inscrit elle même dans une boucle, mais merci quand même.
@+