Changer Image dans Userform

Maspalio

XLDnaute Occasionnel
Bonjour,

J'ai une Userform avec 5 images en visible=false, que je passe en visible=true selon des conditions passées via des options buttons.

Cependant dans le vue d’améliorer mon code, est aussi pour un gain de taille de fichier, je voulais savoir si au lieu de créer 5 images, j'en crée 1 seule et je change le source (chemin), cela est-il faisable ?

Code:
 Dim Fichier As String
    
    Fichier = "C:\fourmis.jpg"
    
    'Vérifie si le fichier existe.
    If Dir(Fichier) <> "" Then
        'si le fichier existe, il est chargé pour visualisation.
        Image1.Picture = LoadPicture(Fichier)
        Else
        'Sinon, affiche aucune image.
        Image1.Picture = LoadPicture("")
    End If

J'ai procédé ainsi, mais je bloque sur le chemin, comme faire si je déplace mon fichier et/ou mes images dans un autre dossier ?

Merci,
 

Dranreb

XLDnaute Barbatruc
Re : Changer Image dans Userform

Bonjour.
ThisWorkbook.Path vous donne le chemin du classeur portant la macro
ChDrive(ThisWorkbook.Path): ChDir(ThisWorkbook.Path) permettrait de n'avoir à spécifier ensuite que les noms des fichiers situés sur le même répertoire que le classeur.
Si ça ne convient pas il faut trouver une autre règle.
Cordialement.
 

Maspalio

XLDnaute Occasionnel
Re : Changer Image dans Userform

Salut Dranreb.

Effectivement, cela fonctionne.
Cependant on doit mettre les images dans le même dossier que le classeur Excel lancé. (j’hésite sur l'utilité réelle)

Autre question, selon toi qu'elle est la meilleure solution ? sachant que le fichier (classeur) transitera entre différentes mains, pc, utilisateurs pas forcement avertis ..
Charger en dur dans le classeur ? passer par le chemin de l'image ? ou solution alternative, insérer les images dans une sheets et les appeler en vba ? ou .. autre solution ?

Je suis ouvert à tout conseil, le point de vue des autres est toujours bénéfique.
 

Dranreb

XLDnaute Barbatruc
Re : Changer Image dans Userform

Mettre le chemin dans une cellule ce n'est pas mal.
Et si un fichier n'est pas trouvé, utilisez Application.GetOpenFilename pour demander à l'utilisateur de l'ouvrir,
et notez son chemin dans la dite cellule.
 

Maspalio

XLDnaute Occasionnel
Re : Changer Image dans Userform

Effectivement, super complexe, et pas forcement utile pour mon classeur.

Donc je vais en revenir à mes 2 choix initiaux, mettre X images dans ma userform selon les X conditions, ou alors 1 Image avec X LoadPicture selon un path spécifique.

Ni, l'un ni l'autre n'est forcement adéquat, mais prenons le meilleur des 2 ^^

Sinon j'ai trouvé ca : Utiliser le contrle ImageList en VBA Excel

Bonne solution alternative ?
 

Maspalio

XLDnaute Occasionnel
Re : Changer Image dans Userform

Finalement, j'ai utilisé la solution que j'ai passé dans le lien dans le post #9

Merci encore a vous 2, pour vos conseils, pour vos infos, on en apprend tout les jours sur Excel, son fonctionnements, ses petits rouages, ;)
 

Discussions similaires

Réponses
12
Affichages
493
Réponses
1
Affichages
333
Compte Supprimé 979
C

Statistiques des forums

Discussions
312 489
Messages
2 088 848
Membres
103 974
dernier inscrit
chmikha