XL 2010 faire apparaitre une image dans un userform avec bouton Yes et No

Egruat

XLDnaute Occasionnel
Bonjour,

Je souhaiterai faire apparaitre une image dans un USERFORM d'un fichier Excel. Cette image serait stockée dans ce même fichier Excel.
Dans le USERFORM, je voudrai faire apparaitre un bouton YES et un bouton NO.

Pourriez-vous m'aider ? Merci

Cordialement
 

joss56

XLDnaute Accro
Bonjour,

Oui on peut t'aider... Tu parles de userform, je suppose donc que tu connais un peu la musique. Après avoir créé ton userform, tu peux ajouter 2 contrôles "commandbutton" figurant dans la boîte à outils et modifier la propriété caption de chacun d'entre eux en saisissant YES pour l'un et NO pour l'autre. Quant à l'image, il suffit d'insérer un contrôle "Image" toujours à partir de cette même boite à outils et de spécifier le chemin d'accès dans ton code VBA. Toutefois, une image ne peut pas être stockée dans un fichier Excel comme tu sembles le dire...

Jocelyn
 

joss56

XLDnaute Accro
Oui effectivement il est possible de coller ou d'insérer une image sur une feuille Excel, mais à ma connaissance, le fait de coller une image à partir d'un site Web par exemple fait de l'image un objet intégré à la feuille de calcul et donc sans existence "propre" donc il devient difficile de l'appeler dans un contrôle Image du userform. Si, par contre, tu insères une image, cela signifie que cette dernière est bien stockée quelque part donc on peut récupérer ce quelque part dans le code VBA.
 

job75

XLDnaute Barbatruc
Bonjour Egruat, joss56,

Question moult fois traitée sur XLD, vous n'avez pas beaucoup cherché...

Et avec un fichier joint ce serait mieux non ?

Alors voici le mien avec ce code dans l'USF :
Code:
Private Sub OptionButton1_Change()
Dim fichier As String
If OptionButton1 Then
  Application.ScreenUpdating = False
  fichier = ThisWorkbook.Path & "\Image.jpg"
  '---création du fichier JPEG---
  With Feuil2.Pictures("Image_1") 'CodeName de la feuille
    .CopyPicture
    With ActiveSheet.ChartObjects.Add(0, 0, .Width, .Height).Chart
      .Paste
      .Export fichier, "JPG"
      .Parent.Delete
    End With
  End With
  '---chargement de l'image et suppression du fichier---
  Image1.Picture = LoadPicture(fichier)
  Kill fichier
  Application.ScreenUpdating = True
Else
  Image1.Picture = Nothing
End If
End Sub
A+
 

Pièces jointes

  • Image dans USF(1).xlsm
    125.3 KB · Affichages: 93

Yurperqod

XLDnaute Occasionnel
Bonjour le forum

L'image peut être stockée dans l'userform mais pas visible à l'écran (en redimensionnant l'userform)
Ensuite on affiche l'image comme ceci
Les propriétés Height et Width de Image1 sont réglés à 1

VB:
Private Sub CommandButton1_Click()
'bouton Yes
Image2.Visible = True
Image2.Picture = Image1.Picture
End Sub

Private Sub CommandButton2_Click()
'bouton No
Image2.Visible = False
End Sub
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 185
Messages
2 086 016
Membres
103 093
dernier inscrit
Molinari