Afficher un formulaire en cliquant sur une image

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:

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

45user-rapport.xlsm (146.88 Ko)

Bonjour

Un essai à tester. Te convient-il?

Bye !

59user-rapport-v1.xlsm (153.83 Ko)

Bonjour gmb

Je te remercie beaucoup, est-il pas possible de faire une boucle pour éviter de mettre a chaque fois ceci

Private Sub Image1_Click()
    im = Image1.Name
    Call AfficherUSF
End Sub

Car j'ai environ 250 images

Dans l'attente d'une réponse je te remercie et te souhaite une bonne journée

Désolé mais je ne vois pas...

Bye !

Bonjour,

Moi je sais faire mais je suis assez sceptique quand à la possibilité de charger 250 images dans un UserForm...

Avant de me lancer dans un travail inutile j'aimerai bien savoir si tu as déjà réussi à les charger toutes ensemble ?

A+

Bonjour Galopin

Tu dis savoir faire.

Voilà qui m'intéresse.

Serais-tu assez aimable, s'il te plait, pour m'indiquer juste la méthode, si cela ne te dérange pas ?

Bye !

Bonjour Galopin

Oui avec le code ci-dessous

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

Bon après midi

bonjour,

ça j'avais compris, Ce que je veux savoir, c'est si tu es arrivé à voir ton USF chargé avec les 250 images ?

Merci

A+

Re,

Oui sans aucun problème

@+

Ok je vais voir ça.

Ce que j'ai besoin de savoir également c'est si tu as besoin d'une étiquette sur l'image ou si une autre disposition te conviendrait mieux. (par exemple celle en fichier joint). Quel texte y aura-t-il dans ces étiquettes ? Le Nom du pèlerin je suppose...

Je voudrais également savoir si l'ordonnancement des images obéit à une logique quelconque (autre que leur numérotation)

Un regroupement par service par exemple (ou que sais-je...)

Bref j'ai besoin d'un maximum d'informations avant de démarrer car c'est quand même un petit boulot d'horlogerie, et je n'ai pas envie de recommencer le travail tous les jours parce que tu auras oublié de me préciser le principal...

Pour info : sauf indication contraire j'envisage de faire 25 rangées de 10 selon le modèle joint...

Tu dois me préciser également si (en dehors des photos, des étiquettes et du bouton quitter) tu auras besoin d'autre chose dans ce formulaire.

Hum je voudrais aussi une minimum d'explication sur le "Listimage" Bref un classeur fonctionnel quoi... (sauf les images!)

Merci.

Hum... Ce que je ne comprend pas bien non plus c'est pourquoi tu t'enquiquines à créer un trombinoscope alors que tu pourrais très bien ouvrir directement le USF2 sur la fiche du quidam qui t'intéresse... personnellement il y a belle lurette que je ne m'embête plus avec tous ces boutons : si je clic sur le nom d'un mec, c'est que je veux voir sa fiche... Si je clique plus bas que le dernier de la liste c'est que je veux en rajouter un... Bon Heu... moi je dis ça hein... c'est juste pour faire avancer le chmilblick !

A+

Bon voila l'état actuel de ma réflexion compte tenu de ta non réponse.

Le USF actuel ne comporte que 8 images car il n'y a que 8 lignes de données... mais si tu rajoutes des données, il te rajoutera des images en tant que de besoin... (No limit !) sans qu'il soit nécessaire de modifier le Userform.

Si tu cliques sur une image il te renvoie sa description dans le USF (mais pas d'image pour des raisons évidentes...)

Heu... je n'ai pas mis d'étiquettes de légende car je ne sais pas trop quoi en faire... mébon c'est une broutille.

Tu as le moteur, pour les finitions YAKA...

Je n'ai pas mis non plus de bouton pour quitter j'ai considéré que la croix rouge était suffisante pour une petite démo un petit jour comme aujourd'hui !

Voir aussi mes commentaires précédents.

A+

Bonjour Galopin,

Tout d’abord un grand merci et bravo pour ce travail excellent j’en espérant pas autan.

Avant de répondre aux questions que tu me pose sur les 2 dernier post, le code en question va servir pour mettre en place une vidéothèque ce qui ne change à rien.

Sur le fichier « User_Rapport _VG_03.xlsm » avec étiquette que je retiendrai.

Alors sur la feuille Excel nommé « Données » pour des raisons d'efficacité j’aurai besoin de la colonne "A" libre pour que je puisse entrer les N° pour la recherche cela est plus facile pour moi

  • Les étiquettes me sont nécessaires comme tu les as mis "Nom des Films"
  • Pour l'ordonnancement des images ils sont rangés suivant la colonne des noms par ordre alphabétique.
  • Pour les Vignettes "Image" la taille serait de "Height 195 Width 160" moi j’ai fait sur mon fichier des rangées de 7 comme j’ai un écran sa rend bien.
  • Le répertoire des vignettes est = "J:\Jaquettes\"
Pour le reste je pense que tout va bien avoir avec ma base de données complète si tous se passe comme je l'espère mais il ne devrai pas avoir de problème.

Je te remercie encore et te souhaite une bonne journée

Cordialement

Max

Hum...

Rien compris à ton histoire de colonne A...

J'ai adapté en fonction de ces nouvelles données (pour les vignettes) malheureusement je ne peux pas visualiser vu que je n'ai pas d'écran adapté.

J'ai supposé que la vignette était généré par l'image originale celle de Userform2 et donc que leurs dimensions sont proportionnelles.

Toutes les images doivent se trouver dans le répertoire "J:\Jaquettes\" ce qui rend inutile la colonne N

Pour d'autres modifs éventuelles, il y a si peu de code que je te laisse gérer... en particulier si le chemin de l'image (et son format) dans le USF2 ne sont pas proportionnels à la vignette.

A+

Re,

Pour la colonne "A" je te joint le fichier modifier

Je n'arrive pas à mettre le chemin pour les photo dans USER1

répertoire = "J:\Jaquettes\"

Picture = LoadPicture(répertoire & Arr(cpt) & ".jpg")

Je te remercie

@+

Re,

Pour le chemin de l'user 1 c'est OK

@+

...Mais ce n'est pas le même chemin pour les images de l'USF2 ? (C'est pour ça que tu à mis une colonne de chemin dans la BD ?)

C'est quand même tordu ! Il y en a qui aiment bien se compliquer la vie !

Il faut récupérer le chemin de la même manière qu'on à récupéré les valeurs des TextBox.

Gratte un peu la dessus et si tu n'y arrives pas repasse par ici...

Nota : Pour tester le bon dimensionnement du USF 1 et le scrolling, (ce que je ne peux pas faire avec un mini écran) il faut au minimum 36 enregistrements (car j'ai prévu un USF de 7 x 5 rangées). Au delà il faut utiliser le scrolling.

Si j'ai bien calculé l'USF (et le scrolling) doivent permettre d'accéder à la 6ème rangée et l'USF doit s'arrêter 12 pixels après la 6 ème rangée.

A+

Re

Pour ce qui consiste des images tous fonctionne très bien

Je te remercie

Bonjour,

Sur ce même fichier qui a était réaliser par Galopin01 que je salut et remercie encore de sont superbe travail J'aimerai si possible ajouter au image, lorsque je passe sur une image il affiche une infobulle qui qui me donne les renseignements si dessous style ControlTipText.

"Titre, Titre Original, Date de Sortie, Acteurs, Genre, Durée, Critique Presse, Critique Spectateur, Réalisateur."

Je vous remercie d’avance

Cordialement

Max

Bonjour,

Il suffit de rajouter une ligne ControlTipText sous la ligne LoadPicture...

      On Error Resume Next    '(en cas de photos manquantes)
      .Picture = LoadPicture(Chemin & Arr(cpt, 1) & ".jpg")
      .ControlTipText = "Hello"
      On Error GoTo 0

...Hum ! De mémoire ControlTipText n'accepte que 255 caractères...

A+

Bonjour Galopin

Je te remercie. Est-il possible de faire un truc comme ceci

a = Array(liste(i), liste(i, 2), liste(i, 3), liste(i, 4), liste(i, 5), liste(i, 8), liste(i, 9), liste(i, 10), liste(i, 11))

Pour avoir sur l'infobulle les "Titre, Titre Original, Date de Sortie, Acteurs, Genre, Durée, Critique Presse, Critique Spectateur, Réalisateur." et a chaque fois à la ligne si cela est possible.

Je te souhaite un très bon WE

Max

Rechercher des sujets similaires à "afficher formulaire cliquant image"