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

Afficher un Userform en cliquant sur une image

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

maval

XLDnaute Barbatruc
Bonjour

J'ai sur mon premier Userform des photos, j'aimerai que lorsque je click sur une des photos j'ai le deuxième userform qui s'ouvre avec toutes les valeurs dans les textbox qui se trouve dans l'onglet "données".
Mes photos sont Charger avec se code:

Code:
Dim Nom(300) As String
For i = 0 To ListImage.ListCount - 1
    Nom(i) = ListImage.List(i)
Next

Dim image As Control
Dim nb As Integer
nb = 0
répertoire = "J:\Photos\"

 For Each image In UserForm1.Controls
      If TypeName(image) Like "Image" Then
          image.Picture = LoadPicture(répertoire & Nom(nb) & ".jpg") ', 250, 178)
         image.PictureSizeMode = 3 '  0=partiel, 1 = étirer, 3= proportionnel
         On Error Resume Next
         nb = nb + 1
      End If
  Next
Je vous remercie d'avance
 

Pièces jointes

Dernière édition:
Re : Afficher un Userform en cliquant sur une image

Bonjour maval, mutzik, le forum,

Voyez le fichier joint avec un module de classe.

Dans UserForm1 un clic sur une image ou sur son Label charge UserForm2.

Nota :

1. Les noms des photos à charger doivent se trouver en colonne A de la feuille "Données".

A l'ouverture d'UserForm1 ces noms sont donnés à la propriété .Caption des Labels.

2. J'ai renommé les Labels avec le même numéro que l'image associée, c'est plus logique.

3. J'ai chargé une image "en dur" pour pouvoir tester UserForm2.

Bonne journée.
 

Pièces jointes

Dernière édition:
Re : Afficher un Userform en cliquant sur une image

Re,

Cela dit dans UserForm1 les Labels liés aux Images ne servent à rien, ils ne font qu'encombrer le code.

Il est bien plus simple de mettre les noms des photos dans la propriété ControlTipText des Images.

Nouveau fichier joint.

A+
 

Pièces jointes

Dernière édition:
Re : Afficher un Userform en cliquant sur une image

Re maval,

On serait curieux de savoir combien de temps il vous faut pour charger 250 photos, à chaque ouverture.

Il paraît bien plus logique de faire le choix à l'aide d'une ComboBox, avec donc un seul UserForm :

Code:
Private Sub ComboBox1_Change()
Dim i%, j As Byte
On Error Resume Next
i = Application.Match(ComboBox1, Feuil2.[A:A], 0)
For j = 2 To 13
  Me("TextBox" & j) = "" 'RAZ
  Me("TextBox" & j) = Feuil2.Cells(i, j).Text
Next
Image1.Picture = LoadPicture("") 'RAZ
'Image1.Picture = LoadPicture("J:\Photos\" & ComboBox1 & ".jpg") 'fichier réel
Image1.Picture = LoadPicture(ThisWorkbook.Path & "\" & ComboBox1 & ".jpeg") 'pour tester
End Sub
C'est simplissime non ?

Testez les fichiers joints après les avoir placés dans le même répertoire (le bureau).

A+
 

Pièces jointes

Dernière édition:
Re : Afficher un Userform en cliquant sur une image

Bonjour Job

Vous m'avez poser une question la réponse est exactement pour 268 photo 7 secondes

Je reste a votre disposition pour toute demande supplémentaires

regarder votre messagerie
 
Dernière édition:
Re : Afficher un Userform en cliquant sur une image

Bonjour maval,

Merci pour votre réponse.

Bon 7 secondes c'est encore acceptable mais c'est limite...

Une autre question : dans UserForm1 comment disposez-vous vos 268 photos ?

Une solution est de les mettre dans un "Frame" avec ScrollBar pour les faire défiler.

A+
 
Re : Afficher un Userform en cliquant sur une image

re

J'avait penser a ceci mais trop compliquer pour mon niveau VBA
Je vous remercie pour tous et vous souhaite une très bonne après midi
 
- 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

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…