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:
Picture, propriété


Spécifie l'image bitmap à afficher sur un objet.

Syntaxe

object.Picture = LoadPicture( pathname )

La syntaxe de la propriété Picture comprend les éléments suivants :

Élément Description
object Objet valide.
pathname Chemin d'accès complet vers un fichier d'image.


Remarques

Lors de la conception d'une feuille, vous pouvez utiliser la fenêtre de propriétés du contrôle pour affecter une image bitmap à la propriété Picture. Lors de l'exécution d'une feuille, vous devez utiliser la fonction LoadPicture pour affecter une image bitmap à la propriété Picture.

Pour retirer une image affectée à un contrôle, cliquez sur la valeur de la propriété Picture dans la page de propriétés, puis appuyez sur SUPPR. La touche RET.ARR ne supprime pas l'image.

Note Pour les contrôles ayant des légendes, utilisez la propriété PicturePosition pour spécifier ou afficher l'image sur l'objet. Utilisez la propriété PictureSizeMode pour déterminer la façon dont l'image remplit l'objet.

Les images transparentes sont parfois floues. Si leur aspect vous déplaît, affichez l'image sur un contrôle qui accepte les images opaques, comme Image et MultiPage.
 
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

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

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
Retour