Loadpicture depuis un lien hypertext

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

2

2susy

Guest
Bonjour à tous,

je souhaite associer la photo de la personne choisie à chaque changement de valeur de mon combo. Le truc c'est que les photos sont stockées sur un http et loadPicture ne fonctionne pas. Voici mon code qui est stoppé à l'expression en rouge.

Code:
 Dim c As Range, Staff As Variant
 Dim Image As String, Ref As String
Staff = UserForm1.ComboSelect.Value
With Sheets("Extraction")
    For Each c In .Range("C2:C" & .Range("C65536").End(xlUp).Row)
    Ref = c.Offset(0, -2) 'où se trouve le numéro de matricule
    Image = "http://xxxxxxxxxx/upload/staff/" & Ref & ".jpeg"
    If c.Value = UserForm1.ComboSelect.Value Then c.Offset(Image).Hyperlinks(1).Follow False
    UserForm4.Image1.Picture = [COLOR="Red"]LoadPicture(Image)[/COLOR]
       Next c
    End With

Merci de votre aide !!
Susy
 
Re : Loadpicture depuis un lien hypertext

Bonjour 2susy,

La seule façon que je connaisse pour faire cela est de télécharger l'image au moyen d'une API windows dans un fichier local puis d'attribuer se fichier à la méthode LoadPicture.

Code:
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
 
 
Sub TaSub()
Dim FicDest As String
Dim ImageURL As String
ImageUrl=Image = "http://xxxxxxxxxx/upload/staff/" & Ref & ".jpeg"
FicDest = ThisWorkbook.Path & "\image1.jpeg"
 
If [COLOR=red]chargeImage[/COLOR]( ImageURl, FicDest) then Image1.Picture = LoadPicture(FicDest)
 
End TaSub
 
Public Function [COLOR=red]chargeImage[/COLOR](URL As String, FichierDestination As String) As Boolean
    Dim Retour As Long
    Retour = URLDownloadToFile(0, URL, FichierDestination, 0, 0)
    If Retour = 0 Then chargeImage = True
End Function

Et Le tour est joué.

A bientôt
 
Dernière modification par un modérateur:
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
1
Affichages
669
Compte Supprimé 979
C
Réponses
58
Affichages
6 K
A
  • Question Question
Réponses
0
Affichages
2 K
Amelie2j
A
K
Réponses
2
Affichages
1 K
kod86580
K
A
Réponses
0
Affichages
2 K
Anarhim
A
N
Réponses
20
Affichages
3 K
Natoleza
N
E
Réponses
3
Affichages
3 K
EvilSakray
E
2
Réponses
5
Affichages
991
2susy
2
Retour