Adapter Fonction Affiche image

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

Jiheme

XLDnaute Accro
Bonjour à tous

Pas moyen, malgré grosses migraines, d'adapter la fonction affiche image à mon cas, le podieum du championnat de L1, dans le zip ci joint le fichier et les images.

Pour info, le fichier et les images sont dans le même répertoire.

Merci
A+
 

Pièces jointes

  • L1.zip
    L1.zip
    115.6 KB · Affichages: 112
Re : Adapter Fonction Affiche image

Bonjour,

En E5: =AfficheImage(E6&"";"c:\mesdoc\jiheme\")

ou

=AfficheImage(RECHERCHEV(deux;data;2;0);"c:\mesdoc\jiheme\")

En G3:
=AfficheImage(RECHERCHEV(prem;data;2;0)&"";"c:\mesdoc\jiheme\")


JB
 
Dernière édition:
Re : Adapter Fonction Affiche image

Bonjour à vous 😉

Tu peux également modifié quelque peu la fonction à Mister Boisgontier
Si le fichier Excel se trouve dans le même répertoire que celui du dossier "Foot" qui contient les images
Code:
Function AfficheImage(NomImage As String, Rep As String)
  Dim VPath As String
  Application.Volatile
  ' Définir le chemin du répertoire
  VPath = ThisWorkbook.Path & "\" & Rep & "\"
  Rep = VPath
  '
  Set adr = Application.Caller
  temp = NomImage & "_" & adr.Address
  Existe = False
  For Each s In adr.Worksheet.Shapes
    If s.Name = temp Then Existe = True
  Next s
  If Not Existe Then
     For Each k In adr.Worksheet.Shapes
        p = InStr(k.Name, "_")
        If Mid(k.Name, p + 1) = adr.Address Then k.Delete
     Next k
     If Dir(Rep & NomImage) = "" Then
        AfficheImage = "Inconnu"
     Else
       Set MyShell = CreateObject("Shell.Application")
       Set MyFolder = MyShell.Namespace(Rep)
       Set MyFile = MyFolder.Items.Item(NomImage)
       Taille = MyFolder.GetDetailsOf(MyFile, 26)
       H = Val(Split(Taille, "x")(1))
       L = Val(Split(Taille, "x")(0))
       Ech = adr.Height / H
       lgcel = adr.Width
       H = H * Ech
       L = L * Ech
       Set s = adr.Worksheet.Shapes.AddPicture(Rep & NomImage, True, True, adr.Left + adr.Width / 2 - L / 2 + 1, adr.Top + 1, L - 2, H - 2)
       s.Name = NomImage & "_" & adr.Address
       AfficheImage = "ok"
    End If
  End If
End Function

Edit : Oups un peu tard
De plus n'a pas l'air de fonctionner tout le temps !?

A+
 
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

Discussions similaires

Réponses
4
Affichages
224
Réponses
15
Affichages
629
Réponses
4
Affichages
822
Réponses
6
Affichages
357
Retour