Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

cherche une image dans fichier externe

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

P

pakalom

Guest
bonsoir,

J'essaie de faire en sorte que lorsque on passe sur la cellule, la photo de l'animal apparait.

J'ai fait des recherches et j'ai trouvé ce code mais je suis bloqué ; il ne va pas chercher la photo.

Si qqun peu se pencher sur mon probleme , ça serait super gentil

Meerci d'avance
 

Pièces jointes

Re : cherche une image dans fichier externe

Bonjour
Essayez peut être avec un controle image de la boite à outils contrôles que vous ne supprimerez ni ne recréerez,
nommé Image en faisant:
VB:
Image.Picture = LoadPicture(répertoirePhoto & Target & ".jpg")
À+
 
Re : cherche une image dans fichier externe

Bonjour,

Le contrôle Image (contrôle ActiveX) doit être déposé sur la feuille avant le test et nommé "Image1" :
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)

    Dim OLE_Objet As OLEObject
    Dim Img As Image
    Dim RepPhoto As String

    If Not Intersect(Target, Range("A2:A5")) Is Nothing And Target.Count = 1 Then

        RepPhoto = "D:\" 'adapter le chemin

        'affecte à la variable l'objet OLE qu'est le contrôle ActiveX Image
        'il faut utiliser OLEObjects car c'est un objet OLE
        'j'ai laissé le nom par défaut "Image1"
        Set OLE_Objet = Worksheets("affichephoto").OLEObjects("Image1")

        'le rend visible si il a été caché
        OLE_Objet.Visible = True

        'passe l'objet de l'objet OLE à la variable Img afin
        'd'utiliser les propriétés propre à l'objet Image
        Set Img = OLE_Objet.Object

        'charge la photo et la positionne
        With Img
            .Picture = LoadPicture(RepPhoto & Target & ".jpg")
            .Left = Target.Offset(, 1).Left + 5
            .Top = Target.Offset(, 1).Top
        End With

    Else

        'si hors de la plage, cache le contrôle Image
        Set OLE_Objet = Worksheets("affichephoto").OLEObjects("Image1")
        OLE_Objet.Visible = False

    End If

End Sub

Hervé.
 
Re : cherche une image dans fichier externe

Bonjour
Affichage, Barres d'outils, Boite à outils contrôles, implanter un objet image de la barre.
Il s'appelle Image1 et a une propriété Picture. Extrait de l'aide:
 
Re : cherche une image dans fichier externe

Vous n'avez pas à déclarer quoi que ce soit. Regardez en haut à gauche, entre "(General)" et "Worksheet": l'objet "Image1" est connu et directement utilisable. Mettez simplement With Image1 au lieu de Img et enlevez tout le fatra autour.
Rectification: With Me.Image1 par simple correction d'orthodoxie personnelle.
 
Dernière édition:
Re : cherche une image dans fichier externe

bonsoir dranred,

j'ai bien effectué votre modif , le cadre image apparait et disparait bien mais il ne va pas chercher ma photo et je ne pense pas me tromper dans le chemin d'accés.

Avez vous une idée.

merci
 
Re : cherche une image dans fichier externe

je ne pense pas me tromper dans le chemin d'accés
mettez ceci devant pour vous en assurer:
VB:
 MsgBox Dir(RepPhoto & Target & ".jpg")
il devrait alors vous afficher le nom du fichier si le chemin est correct.
Chez moi un fichier sur Mes documents est en fait sur C:\Documents and Settings\luck\Mes documents
Si vous avez un classeur sur Mes documents essayez d'y tester MsgBox ThisWorkbook.FullName
 
Dernière édition:
Re : cherche une image dans fichier externe

1. j'ai un msg box qui apparait marqué : cheval.jpg et avec la deuxieme solution j'ai fais un copier coller du chemin correcte mais le pb persiste......

Je vous complique la vie ..; désolé
 
Re : cherche une image dans fichier externe

j'ai fait un essai, ça marche. j'ai juste changé la propriété PictureSizeMode en 3: zoom
Avez vous bien enlevé tout ce qui ne sert à rien ?
Re joignez que je vérifie.
 
Re : cherche une image dans fichier externe

Quand comprendrez vous que la méthode OLEObjects n'est pas de votre niveau ?
Elle est faite pour accéder aux objets OLÉ de feuilles définies dans d'autres classeurs et qui ne sont par conséquent pas connus du projet Visual Basic. Votre Image1 est connue elle !
Vous avez fait exactement le contraire de ce que je vous avais dit: vous n'avez précisément gardé que tout ce qui ne sert à rien !
Plus rien dans le With Me.Image1 !
 
Re : cherche une image dans fichier externe

comme vous dites ce n'est pas de mon niveau , mais pouvez m'envoyer le fichier corrigé pour que je puisse combler mes lacunes.

Merci d'avance
 
Re : cherche une image dans fichier externe

Essayez simplement comme ça :
VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Image1.Visible = False
If Not Intersect(Target, Range("A2:A5")) Is Nothing And Target.Count = 1 Then
   ChDrive "C": ChDir "C:\Documents and Settings\pgillet\Mes documents"
   On Error Resume Next
   Image1.Picture = LoadPicture(Target & ".jpg")
   If Err Then MsgBox Err.Description: Exit Sub
   On Error GoTo 0
   Image1.Left = Target.Offset(, 1).Left + 5
   Image1.Top = Target.Offset(, 1).Top
   Image1.Visible = True
   End If
End Sub
À+
 
- 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
5
Affichages
867
J
Réponses
3
Affichages
1 K
Jaihna
J
R
Réponses
10
Affichages
2 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…