Intégrer une image dans Userform...

pompom74 Messages postés 9 Date d'inscription   Statut Membre Dernière intervention   -  
pompom74 Messages postés 9 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

J'essaye d'intégrer une image dans un userform (gestion de fiches), mais malgré plusieurs tentatives de scripts divers et variés je n'y arrive pas. J'ai emprunté ce code (sur ce forum) et je l'ai adapté (car apparemment le Mac avec Excel 2011 ne reconnaît pas "loadPicture"). J'obtiens bien le message d'erreur, ce qui devrait prouver que ça va jusque là, mais point d'image.
Dans un userform j'ai une textbox1 dans laquelle j'ai entré le nom de l'image (sans l'extension) et un contrôle "Image1". Comme je suis un bidouilleur pas toujours bien éclairé, je vois bien qu'il n'est mentionné nulle part que l'image doit aller dans le contrôle "Image1" mais je ne sais pas quoi ni où le mettre :
Private Sub TextBox1_Change()
Dim chemin As String
chemin = TextBox1.Value
On Error GoTo pasdimage
ActiveSheet.Pictures.Insert ("/Volumes/HD/images/" & chemin & ".jpg")
pasdimage : MsgBox "photo non disponible"
End Sub

Le dossier "images" se trouve au même niveau que le fichier Excel.
Une idée ?

Merci

A voir également:

5 réponses

cs_Le Pivert Messages postés 7904 Date d'inscription   Statut Contributeur Dernière intervention   729
 
0
pompom74 Messages postés 9 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour Le Pivert,

Merci pour ta réponse. La page a l'air intéressante.
Apparemment le Mac+cette version d'Excel 2011 ont un problème avec DIR. En effet j'ai un message d'erreur "68" (device unavailable) alors que le fichier est r/w. J'ai bien trouvé une astuce sur :
https://answers.microsoft.com/en-us/msoffice/forum/msoffice_excel-mso_mac/lets-talk-about-mac-excel-2011-bugs/a3653864-e889-4413-aab0-ac118c03d65e
J'ai mis la fonction dirfile juste au dessus:
Function dirfile(ByVal input_file As String) As Boolean
Dim tmp
dirfile = False
On Error GoTo dirfile_err
tmp = Dir(input_file)
On Error GoTo 0
dirfile = True
dirfile_err:
End Function

...mais je ne sais pas appeler la fonction "dirfile" dans cette macro (je ne suis pas programmeur) .
Private Sub CommandButton5_Click()
Dim Fichier As String
Fichier = "/Users/ATC/Desktop/fleur.jpg"
'Vérifie si le fichier existe.
If Dir(Fichier) <> "" Then
'si le fichier existe, il est chargé pour visualisation.
Image1.Picture = ActiveSheet.Pictures.Insert(Fichier)
Else
'Sinon, affiche aucune image.
Image1.Picture = ActiveSheet.Pictures.Insert("")
End If
End Sub


Encore une idée ?

Merci
0
cs_Le Pivert Messages postés 7904 Date d'inscription   Statut Contributeur Dernière intervention   729 > pompom74 Messages postés 9 Date d'inscription   Statut Membre Dernière intervention  
 
tout simplement comme ceci sans passer par Dir:

Private Sub CommandButton5_Click()
    Dim Fichier As String
    Fichier = "Chemin complet/fleur.jpg"
    If Fichier = "" Then
Exit Sub
Else
 'si le fichier existe, il est chargé pour visualisation.
        Image1.Picture = ActiveSheet.Pictures.Insert(Fichier)
'ou
        'Image1.Picture = LoadPicture(Fichier)
      End If
End Sub
0
pompom74 Messages postés 9 Date d'inscription   Statut Membre Dernière intervention   > cs_Le Pivert Messages postés 7904 Date d'inscription   Statut Contributeur Dernière intervention  
 
Merci...
Ça aurait dû marcher... mais si je fais :
- avec "LoadPicture" j'ai une erreur "compile error : sub or function not defined"
- avec "ActiveSheet.Pictures.Insert" j'ai une erreur "runtime error 1004 : unable to get the Insert property of the Pictures class"

C'est mal parti...
0
cs_Le Pivert Messages postés 7904 Date d'inscription   Statut Contributeur Dernière intervention   729
 
0
pompom74 Messages postés 9 Date d'inscription   Statut Membre Dernière intervention  
 
Merci...
Ce coup-ci je n'ai plus d'erreur, mais il ne se produit rien ! Preview ne se lance même pas. J'ai essayé en lançant Preview avant, mais rien non plus.

Encore merci
0
cs_Le Pivert Messages postés 7904 Date d'inscription   Statut Contributeur Dernière intervention   729
 
Voici différentes méthodes, qui ne concernent que l'insertion d'une image dans une Feuille:

https://excel.developpez.com/faq/?page=Image#InsertionImage
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
pompom74 Messages postés 9 Date d'inscription   Statut Membre Dernière intervention  
 
Merci Pivert.

En effet, ça marche, mais l'insertion de l'image s'effectue dans la feuille et non dans le UserForm : c'est déjà un progrès !

J'ai essayé :
Set Emplacement = Me.Image1
donne l'erreur "type mismatch"
puis :
Set Emplacement = Image1.Picture
donne l'erreur "Object variable or With block variable not set"
enfin :
Set Emplacement = UserForm1.Image1
donne l'erreur "type mismatch"

J'arrive aux limites de mes connaissances (bien faibles)
0