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 -
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
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:
- VBA ouvrir des images selon la ligne d'une colonne(hyperlien)
- Comment ouvrir un fichier epub ? - Guide
- Déplacer une colonne excel - Guide
- Partager des photos en ligne - Guide
- Ouvrir fichier .bin - Guide
- Trier une colonne excel - Guide
9 réponses
Bonjour
Ce n'est pas trop clair, pouvez-vous mettre le fichier exemple sur https://www.cjoint.com/ et poster le lien ?
Ce n'est pas trop clair, pouvez-vous mettre le fichier exemple sur https://www.cjoint.com/ et poster le lien ?
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..... ?
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..... ?
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
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
Bonjour Kevina .. ,
Note, ce serait gentil de préciser si vous avez des renseignements sur un autre site.
Note, ce serait gentil de préciser si vous avez des renseignements sur un autre site.
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....
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....
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour,
Vous avez peut-être une solution par ici.
Salutations.
Le Pingou
Vous avez peut-être une solution par ici.
Salutations.
Le Pingou
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
- 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
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 ....!
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 ....!
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,
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,
Bonjour
voila le code pour charger une image
A+
Maurice
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
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
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
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
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
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