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

Kevina -  
Le Pingou Messages postés 12285 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

9 réponses

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

    0
    1. 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
  2. Le Pingou Messages postés 12285 Date d'inscription   Statut Contributeur Dernière intervention   1 480
     
    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
    1. 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
  3. Le Pingou Messages postés 12285 Date d'inscription   Statut Contributeur Dernière intervention   1 480
     
    Bonjour Kevina .. ,
    Note, ce serait gentil de préciser si vous avez des renseignements sur un autre site.

    0
  4. Le Pingou Messages postés 12285 Date d'inscription   Statut Contributeur Dernière intervention   1 480
     
    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
    1. 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
    2. Le Pingou Messages postés 12285 Date d'inscription   Statut Contributeur Dernière intervention   1 480
       
      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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

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

    Salutations.
    Le Pingou
    0
    1. 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
  7. Le Pingou Messages postés 12285 Date d'inscription   Statut Contributeur Dernière intervention   1 480
     
    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
    1. 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
  8. 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
  9. Le Pingou Messages postés 12285 Date d'inscription   Statut Contributeur Dernière intervention   1 480
     
    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
    1. 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
    2. kevina
       
      Le lien :
      http://dl.free.fr/fYifiX2Rc

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

    0