VBA ouvrir des images selon la ligne d'une colonne(hyperlien)

Kevina -  
Le Pingou Messages postés 12362 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,
Je travaille sur un projet VBA. J'ai repris un programme existant qui affiche des displays à compléter les uns après les autres (chaque display correspond à une ligne sur le tableur).

Pour aider l'utilisateur je dois rajouter une image sur chaque display (variable en fonction du display). J'ai donc pensé à ajouter une colonne contenant les hyperliens des images sur mon Excel.
Et j'ai rajouté une image vide sur mon UserForm.

Mon but est de pouvoir coder une boucle qui affiche l'image corresponds à la ligne du display.

Avez-vous une idée?

Pour l'instant je n'arrive à afficher qu'une seule image avec :
Sheets("Sheet1").Cells.Hyperlinks(1).Follow True

En vous remerciant,
Cordialement

A voir également:

9 réponses

Le Pingou Messages postés 12362 Date d'inscription   Statut Contributeur Dernière intervention   1 471
 
Bonjour
Ce n'est pas trop clair, pouvez-vous mettre le fichier exemple sur https://www.cjoint.com/ et poster le lien ?

0
Kevina
 
http://www.cjoint.com/c/EFlaOZqyAXP

Voilà en fait dans un premier temps je veux afficher sur l'Userform 2 une image changeante selon la ligne de l'Excel. Soit j'intègre ces images dans l'Excel (hyperlien?) ou dans un dossier photo en utilisant un codage pour les noms des photos.
Comment faire pour les afficher ?

merci de votre aide
0
Le Pingou Messages postés 12362 Date d'inscription   Statut Contributeur Dernière intervention   1 471
 
Bonjour,
Merci pour le fichier.
L'ouverture du fichier déclenche une procédure qui produit des erreurs car il manque des paramètres... donc je la désactive.
Vous parlez de la [Userforme2] qui s'affiche en cliquant sur le bouton de commande de la feuille 1 (Sheet1) ou vous avez 3 onglets (Francis Units, Pelton Units et Station Service) avec chacun une image ....... c'est bien cela...Oui / Non
Ou se trouve les références pour l'image changeante..... ?

0
Kevina
 
Bonjour, déjà merci pour votre aide car non je n'ai pas encore trouvé la solution aujourd'hui. Non en fait pour l'instant je travaille uniquement sur la partie station service , mais je generaliserais par la suite. Lorsqu'on rentre dans cet onglet et qu'on commence les relevés c'est a ce moment la que j'ai besoin de mettre des photos.
A chaque ligne rouge ou orange de mon excel je dois charger une photo différente sur les userformes pour illustrer.

Je pensais soit les mettre en hyperliens sur les lignes en question, soit aller les chercher dans un dossier qui contient image1,image2...

J'espère être plus claire, je suis vraiment embêté car cette manip bloque mon travail
0
Le Pingou Messages postés 12362 Date d'inscription   Statut Contributeur Dernière intervention   1 471
 
Bonjour Kevina .. ,
Note, ce serait gentil de préciser si vous avez des renseignements sur un autre site.

0
Le Pingou Messages postés 12362 Date d'inscription   Statut Contributeur Dernière intervention   1 471
 
Bonjour,
Alors si je suis vos commentaires, sur la feuille 1 (Sheet1) je clic sur [Button 1] et j'ai le formulaire [Welcome] puis sélectionne l'onglet [Station Service] et ensuite ...... probablement [Start] et là il va chercher un autre classeur [Station Default VS.xlsm] qui n'est pas présent et c'est le blocage.... !
En plus je ne vois pas où je trouve l'indication pour chercher la bonne image et encore moins ou elle doit être affichée...
En plus vous parlez de A chaque ligne rouge ou orange de mon excel et rien ne correspond dans le fichier disponible....

0
kevina
 
Bonjour, ah mince je n'ai pas tout envoyé.. Merci je vais essayé de suivre les indications du lien . Je vous tiens au courant et merci encore pour votre aide
0
Le Pingou Messages postés 12362 Date d'inscription   Statut Contributeur Dernière intervention   1 471
 
Bonjour,
Merci pour l'information.
Vous revenez si nécessaire mais de grâce soyez plus précis avec l'explication nous ne sommes pas des devins... !
Salutations.
Le Pingou
0

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

Posez votre question
Le Pingou Messages postés 12362 Date d'inscription   Statut Contributeur Dernière intervention   1 471
 
Bonjour,
Vous avez peut-être une solution par ici.

Salutations.
Le Pingou
0
kevina
 
Merci, c'est déjà une grosse avancée !! Cependant il reste deux points sur lequel je butte:

- avec le programme ci-dessous je suis obligée de cliquer sur un bouton pour voir l'image apparaître (je souhaiterais qu'elle apparaisse initialement)
-il me reste aussi à coder des boucles pour changer d'image lorsque je change de ligne

Pour ce second point je pensais mettre en place dans une colonne du fichier excel image1,image2,image3 selon la ligne... Et dans mon programme une variable qui prends la valeur "imagex" afin d'aller chercher la bonne image dans le dossier "Addons".
Qu'en pensez vous?

Très bonne journée,
Kevina

programme :

Private Sub CommandButton6_Click()
Dim Fichier As String

Fichier = "C:\Users\...\Addons\Image1.jpg"

'Vérifie si le fichier existe.
If Dir(Fichier) <> "" Then
'si le fichier existe, il est chargé pour visualisation.
USF_base.Image1.picture = LoadPicture(Fichier)
Else
'Sinon, affiche aucune image.
Image1.picture = LoadPicture("")
' MsgBox "Sorry no picture"
End If

End Sub
0
Le Pingou Messages postés 12362 Date d'inscription   Statut Contributeur Dernière intervention   1 471
 
Bonjour,
Eh bien sans une meilleures explications accompagnée dans la mesure du possible du fichier actuel (celui qui à vos travaux) et non pas des brides de code ....!
0
kevina
 
Bonjour,

Après plusieurs essais je n'arrive toujours aux deux points mentionnés plus haut. Je suis désolé pour le fichier VBA je ne pense pas pouvoir trop le communiquer. J'ai donc rédigé un petit document explicatif pour résoudre le deuxième point mentionné le 12/06.. J'espère qu'il vous conviendra pour comprendre mon soucis, sinon j'essayerai de vous envoyer d'autres éléments demain.

http://www.cjoint.com/c/EFoqaeiHkn6


Avez vous une idée?
En vous remerciant pour le temps passer à m'aider car je commence à m'inquiéter ce point retarde beaucoup mon travail ...
Bonne journée,
0
Maurice
 
Bonjour

voila le code pour charger une image

RepImage = ThisWorkbook.Path & "\" & Photo & "\"
NomFichier = "NomImage.JPG"
' Test le repertoire ou se trouve la photo
   If Dir(RepImage & NomFichier) = "" Then
'         Image1.Picture = LoadPicture(RepImage & "Nophoto.gif")
      Else
         Image1.Picture = LoadPicture(RepImage & NomFichier)
   End If

A+
Maurice
0
Le Pingou Messages postés 12362 Date d'inscription   Statut Contributeur Dernière intervention   1 471
 
Bonjour,
En attendant de meilleurs explications, je vous propose ce petit exemple qui affiche l'image dans le formulaire (UserForm) selon le choix.
Mon exemple : http://www.cjoint.com/c/EFovmKeVkVY

0
kevina
 
Bonjour,

Je prends note mais malheureusement ce n'est pas mon but... :( Je vous joints le programme, pour le lancer DRR Automated patrol/ Start patrol.
Station service/ start/
Rentrez un identifiant
remplissez les champs jusqu'à l'affichage "CHECK 200L GE PUMP fuel room/ Note fuel level in the tank"

Bouton PICTURE.

Une image s'affiche bien, elle correspond bien à l'image de la ligne " CHECK 200L GE PUMP fuel room/ Note fuel level in the tank", appelée a la ligne E7 du fichier excel.

Maintenant lorsque l'utilisateur clique sur Next, je veux que l'image de la ligne suivante s'affichent si on clique sur PICTURE.

Je n'arrive pas à généraliser cette méthode sur ce premier userform (USF_base)

Est ce que c'est bon pour le principe ?
Merci beaucoup
0
kevina
 
Le lien :
http://dl.free.fr/fYifiX2Rc

mdp:0
0
kevina
 
C'est bon j'ai trouvé !! Il me manque plus qu'à afficher l'image initialement :)
0
Le Pingou Messages postés 12362 Date d'inscription   Statut Contributeur Dernière intervention   1 471
 
Bonjour,
Eh bien, le lien ne fonctionne pas et comme vous avez trouvé la solution, je quitte le poste.

0