insérer image en fonction d' une liste

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

JR26

XLDnaute Nouveau
Bonjour,

Je souhaite informatiser des feuilles d'opérations.

Les personnes n'auront accès qu'en lecture seule, elles devront choisir la référence souhaitée (ex : 196340) et à partir de là je souhaite insérer la photo .jpg de la référence concernée (ex: 196340.jpg). Ces phots seront rangées dans un dossier.

Pouvez-vous me donner un petit coup de main ?

Merci d'avance.
 

Pièces jointes

Dernière édition:
Re : insérer image en fonction d' une liste

Hello JR26, Risleure,

Ben maintenant que j'y ai fais 😀 voici un fichier joint adapté au tien Jr, avec la même méthode proposée par Risleure et aussi une solution pour afficher l'image dans une cellule.

Toujours tiré des maîtres à penser du Forum et d'ailleurs... Bv et Merci à eux !

J'ai rajouté des images, le fichier est donc un poil plus lourd, prends le ICI.

Cdt, Hulk.

EDIT : Petit up pour déposer le Transparent.jpg à déposer dans le dossier avec les autres images.
 

Pièces jointes

  • Transparent.jpg
    Transparent.jpg
    8.4 KB · Affichages: 147
Dernière édition:
Re : insérer image

Merci de vos réponses mais je n'arrive pas à le mettre en oeuvre dans mon fichier. Les photos ne s'affichent pas quand je sélectionne la référence.

J'ai trouvé un fichier avec le même principe que celui que je souhaite mettre en place. Il fonctionne par macro, voici le code VBA :

Dim Val1
Val1 = Sheets("FEUILLE OP").[I2].Value
Dim val2 As String
val2 = "e:\documents and settings\Photo"
Dim val3 As String
val3 = val2 & Val1 & ".jpg"
Range("B7").Select
On Error GoTo erreur
ActiveSheet.Pictures.Insert(val3) _
.Select

Selection.ShapeRange.IncrementLeft -76.5
Selection.ShapeRange.IncrementTop -59.25
Selection.ShapeRange.LockAspectRatio = msoTrue
Selection.ShapeRange.Height = 482.25
Selection.ShapeRange.Width = 483.75
Selection.ShapeRange.Rotation = 0#
Selection.ShapeRange.IncrementLeft 15#
Selection.ShapeRange.IncrementTop -7.5
Selection.ShapeRange.IncrementLeft 10
Selection.ShapeRange.IncrementTop 6#
Selection.ShapeRange.ScaleWidth 0.76, msoFalse, msoScaleFromTopLeft
Selection.ShapeRange.ScaleHeight 0.75, msoFalse, msoScaleFromTopLeft
Selection.ShapeRange.IncrementLeft 15#
Selection.ShapeRange.IncrementTop 21#
Selection.ShapeRange.IncrementLeft -15.75
Selection.ShapeRange.IncrementTop 3#

GoTo Fin
erreur:
MsgBox " IMAGE FRICTION INCONNUE. Vérifier si la photo ('référence dans la cellule B3'.jpg) est dans le répertoire : T:\meth_indus_ass_frictions\friction\conditionnement\PHOTOS\kit\ "
Fin:
Exit Sub

End Sub



Mon fichier se présentera comme la pièce jointe (dossier FO + sous dossier PHOTOS)


Si quelqu'un pouvait éclairer ma lanterne !!!

Merci d'avance.
 

Pièces jointes

  • FO.zip
    FO.zip
    11.1 KB · Affichages: 81
  • FO.zip
    FO.zip
    11.1 KB · Affichages: 61
  • FO.zip
    FO.zip
    11.1 KB · Affichages: 70
Re : insérer image en fonction d' une liste

Re,

Mon fichier se présentera comme la pièce jointe (dossier FO + sous dossier PHOTOS)
Mais dans la pièce jointe initiale que tu avais mise, le fichier et la photo étaient dans le même répertoire et pour le code de Jacques BOISGONTIER que je t'ai modifié, les images doivent être dans le même répertoire que le fichier XL qui les appelle. 😉

C'est peut être là ton pb.
 
Re : insérer image en fonction d' une liste

Re,

Voici la macro que tu as trouvée, adaptée à ton fichier.

Quand tu saisis dans B1 ça affiche l'image, si pas d'image rien.

Ai mis un macro pour effacer l'image à chaque changement sinon le fichier devient vite lourd, mais tu peux la supprimer. (Macro Efface)

Bye.
 

Pièces jointes

  • FO.zip
    FO.zip
    25.9 KB · Affichages: 107
  • FO.zip
    FO.zip
    25.9 KB · Affichages: 103
  • FO.zip
    FO.zip
    25.9 KB · Affichages: 106
Re : insérer image en fonction d' une liste

Merci pour le fichier. C'est ce que je veux faire mais quand je change la référence, c'est toujours le message d'erreur de la macro qui apparait. Serait-ce lié à l'emplacement des photos ? Peut-on définr un chemin d'accès du type :

ActiveSheet.Pictures.Insert( _
"e:\documents and settings\NAME\Desktop\FO\XXXX.JPG").Select


Avec "XXXX" étant la référence demandée.

Merci d'avance pour votre aide.

Bye😕
 
Re : insérer image en fonction d' une liste

Re,

Je ne comprends pas, le dernier fichier que je t'ai envoyé fonctionne avec ta macro adaptée, aucun message d'erreur chez moi.

ATTENTION :

Les photos doivent se trouver dans le dossier "Photos" qui lui-même doit se trouver dans le dossier "FO" !!

Cdt, Hulk.
 
Re : insérer image en fonction d' une liste

Re,

Essaie peut-être en modifiant le bas du code comme ceci...
Code:
GoTo Fin
erreur:
[COLOR="Green"][B]If Range("B1") = "" Then Exit Sub[/B][/COLOR]
MsgBox "Il n'y a pas d'image pour cette référence dans le répertoire"
Fin:
Exit Sub
Si rien en B1 il sort de la procédure, si pas de photo pour la référence saisie en B1, message indiquant que pas de photo de ce nom dans le répertoire.

Cdt, Hulk.
 
Re : insérer image en fonction d' une liste

Bonjour,

Après un WE de repos, j'ai réussi à intégrer les formules.

Par contre je n'arrive pas à faire la mise en forme (respect d'une taille définie) de l'image insérée.

De plus, toujours à partir de la réf (ex : 196340), un n° de calibre est appelé. Je souhaite intégrer la photo du calibre en fonction de son nom (A, B ou C).

Le fichier joint se s'appelle FO2 dans lequel on retrouve le fichier de travail "Test" plus deux ss dossiers "Photos" (pour les photos des réf) et "Calibres" (pour le photos des calibres).

Si qq'un pouvait m'apporter ses lumières !!!

Merci d'avance.

JR
 

Pièces jointes

Re : insérer image en fonction d' une liste

Hello,

Eh tu rigoles ou bien ?

Toi tu passes ton WE cool et quand tu reviens il te faut LA solution ?

On t'a proposé plusieurs versions et chaque fois tu reviens avec un détail de plus, FACILE !

Je dis que tu as assez de réponses pour que tu te creuses un peu les ménages pour ton projet !

Sur ce Bye.
 
Re : insérer image en fonction d' une liste

Désolé de la gène occasionée !!

Je ne cherche pas LA solution mais des infos sur des points précis :

1- Comment sélectionner l'image qui vient d'ètre insérée ?

2- Comment gérer deux Macros similaire (intégration image) ?

Désolé pour cette mauvaise compréhension et merci quand même pour votre aide.

🙄
 
Re : insérer image en fonction d' une liste

Re,

Hm sorry quand même de t'avoir répondu de la sorte tout à l'heure, le côté obscur de la bête s'est réveillé... Parfois j'oublie que j'ai aussi été dans ton cas.

Ben je ne sais pas quoi te dire pour le point 1, qu'entends-tu par "Comment sélectionner l'image qui vient d'ètre insérée ?" l'image insérée est sélectionnée de suite non ?

Et pour le point 2, "Comment gérer deux macros similaires ?" tu veux dire deux images d'un coup ?

Il faudrait que tu précises dans le classeur joint, or le dernier que tu as joint est le même qu'avant.

Cdt, Hulk.
 
Re : insérer image en fonction d' une liste

Bonsoir, salut le géant vert,
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$B$1" And Not IsEmpty(Target) Then
Chemin = "e:\documents and settings\NAME\Desktop\FO\" 'à adapter
Img = Chemin & Range("B1") & ".jpg"
Set fso = CreateObject("Scripting.FileSystemObject")
    If Not fso.FileExists(Img) Then
        MsgBox "l'image n'existe pas dans le répertoire !"
        Me.Image1.Picture = LoadPicture("")
    Else
        Image1.Picture = LoadPicture(Img)
    End If
End If
    
End Sub
N'oublie pas de mettre les images jointes dans le répertoire que tu a indiqué
J'ai beau cherché dans ton fichier, "calibre" voit pas ou il faut que je repasse chez l'ophtalmo.
A+
kjin
 

Pièces jointes

- 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
39
Affichages
5 K
Retour