Affichage image sans 'Gonfler le fichier'

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

Gexk5

XLDnaute Occasionnel
Bonsoir le forum,
Après maintes recherches sur le forum, je n'ai pas trouvé ce que je cherche, j'ai une liste dans la colonne A, des images en JPeg avec les memes noms que les references de ma colonne A, je voudrai faire afficher l'image correspondante soit en cliquant dans une des celulles de la colonne A soit en passant sur les celulles ( style commentaire).
Avec la solution du commentaire, le problème est que j'ai environ 5000 lignes donc 5000 images en commentaire et mon fichier depasse les 10Mo.
J'ai deja vu mais impossible de retrouver, clic sur la ligne et affichage de l'image, image dans un dossier en reseau donc accessible de n'importe quel PC en reseau.
Quelqu'un a t il la solution ???
Merci d'avance
 
Re : Affichage image sans 'Gonfler le fichier'

bonjour

à essayer :

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim img1 As Object

Application.ScreenUpdating = Not Application.ScreenUpdating

'pour placer une image en c10 par exemple
With ActiveSheet
    Set img1 = .Pictures.Insert(Target.Text)
    With img1
        .Name = "toto"
        .Width = 50 'taille
        .Height = 50
    .Top = ActiveSheet.Range("c10").Top 'emplacement
    .Left = ActiveSheet.Range("c10").Left
    End With
End With

'pour placer une image en commentaire
With Target

If Not .Comment Is Nothing Then 'on teste l'absence d'un commentaire
    .Comment.Delete 'si présent on supprime
End If
    .AddComment
    .Comment.Shape.Fill.UserPicture Target.Text
End With

Application.ScreenUpdating = Not Application.ScreenUpdating

End Sub
j'ai utilisé une evenementielle pour le dynamisme, je te laisse le soin de limiter sa portée 🙂

salut
 
Re : Affichage image sans 'Gonfler le fichier'

Bonjour le forum, herve
Merci pour ta reponse mais cela ne me convient pas, en effet j'ai environ 1000lignes, référencées par un numéro 306444,306523,307215, etc, j'ai un dossier avec toutes les images corespondantes et portant le meme numéro, dans ton code cela ne traite qu'une seule celulle et j'ai une erreur ""Set img1 = .Pictures.Insert(Target.Text)"".
Merci quand meme
 
Re : Affichage image sans 'Gonfler le fichier'

Hello,

Tu veux faire quoi exactement ??

Tu as une liste, exemple, de A1:A1000 et tu veux toutes les images à côté en même temps ?

Ou seulement une à la fois ?

Parce que si tu veux toutes les images sur ta feuille, réseau ou pas, c'est pareil ton fichier sera lourd et donc lent !

Précise exactement ce que tu souhaites.

Je pense que si tu mets un fichier avec ce que tu veux et déjà un peu travaillé de toi même ça serait mieux.

Hervé t'as gentiment proposé quelque chose, et tu lui dis que c'est pas bon, facile !

Faut qu'on monte le truc complet pour toi ou bien ?
Fournis un minimum d'effort !

Cdt, Hulk.

Edit : Slt Hervé 😀
 
Dernière édition:
Re : Affichage image sans 'Gonfler le fichier'

re

rien compris à ton explication 😱

ce code fonctionne parfaitement et ceci depuis environ excel 97 ^^

par contre il n'est surement pas adapté à la configuration de ton fichier, et ceci seul toi peux y repondre, ou nous fournir un fichier pour qu'on t'aide.

au revoir quand meme

edit : salut hulk ^^
 
Re : Affichage image sans 'Gonfler le fichier'

Re le forum, merci herve, hulk
Je joint un fichier pour plus d'explications, vous verrez que mon fichier n'est pas vide, et que j'arrive a inserer les images en commentaire sur toutes mes ref
Je ne veux l'affichage de l'image que quand on clic dans les celulle de la colonne A, une seule image a la fois


http://cjoint.com/?frmHwMW3k6
 
Re : Affichage image sans 'Gonfler le fichier'

re

ce code fonctionne chez moi sur ton fichier :

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim img1 As Object
Dim repertoire As String

If Target = "" Or Target.Row = 1 Then Exit Sub

repertoire = ThisWorkbook.Path & "\Photo\"
Application.ScreenUpdating = Not Application.ScreenUpdating

'pour placer une image en c10 par exemple
With ActiveSheet
    Set img1 = .Pictures.Insert(repertoire & Target & ".jpg")
    With img1
        .Name = "toto"
        .Width = 50 'taille
        .Height = 50
    .Top = ActiveSheet.Range("h17").Top 'emplacement
    .Left = ActiveSheet.Range("h17").Left
    End With
End With

'pour placer une image en commentaire
With Target

If Not .Comment Is Nothing Then 'on teste l'absence d'un commentaire
    .Comment.Delete 'si présent on supprime
End If
    .AddComment
    .Comment.Shape.Fill.UserPicture repertoire & Target & ".jpg"
End With

Application.ScreenUpdating = Not Application.ScreenUpdating

End Sub
salut


edit : et pour faire fonctionner ton code :

repertoire = ThisWorkbook.Path & "\photo\"
 
Dernière édition:
Re : Affichage image sans 'Gonfler le fichier'

Re, Gexk, Hervé, Bobjazz

Tu vois Gexk, avec un peu de volonté de ta part, plus de facilité pour ceux qui aident, d'aider justement !

Je me permets juste d'apporter une petite modification à ta superbe macro Hervé, avec aussi une macro pour effacer les images au fur et à mesure.

Comme ceci, en cliquant sur une cellule référencée, l'image se place à coté, et si on clique ailleurs, l'image s'efface.

Je pense plus dans ses attentes.

Prends le fichier ICI.

Très bon dimanche, Hulk.
 
Dernière édition:
- 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
3
Affichages
296
J
Réponses
3
Affichages
1 K
Jaihna
J
R
Réponses
25
Affichages
3 K
Retour