LoadPicture : Chemin d'accès différents...

L

Lapou

Guest
Bonjour le Forum !!!

J'utilise ce code pour charger des images en fonction d'une Combobox.

Private Sub ComboBox1_Change()
If ComboBox1 = "Aide" Then
Image1.Picture = LoadPicture("S:\JTARDY\Excel\icone_aide_fr[1].gif")
End If
If ComboBox1 = "Stats" Then
Image1.Picture = LoadPicture("S:\JTARDY\Excel\icone_stats[1].gif")
End If
End Sub

Comment puis-je faire pour que l'image soit toujours prise dans le dossier "Images" situé au même niveau que le fichier lui même.
C'est à dire que mon fichier soit dans \...\Fichier.xls et mes images dans \...\Images\...

L'idée est que si je change mes fichiers de place je n'ai pas le soucis des liens !

Merci bcp

Bonne journée
 

Pièces jointes

  • Test.zip
    11.8 KB · Affichages: 52
  • Test.zip
    11.8 KB · Affichages: 56
  • Test.zip
    11.8 KB · Affichages: 58
L

Lapou

Guest
Salut Zon !

Merci pour ton aide !

Images sera toujours un sous-répertoire du chemien du fichier effectivemment ;-)

Mais quelle est la ligne à mettre avec ce à la place de
Image1.Picture = LoadPicture("S:\DEPARTEMENT SDL\Qfabrication\JTARDY\Excel\icone_stats[1].gif")
pq je n'y parviens pas !

Merci à toi
Bonne journée
 
L

Lapou

Guest
Re le fil, le forum,

Petite demande en pus si c'est faisable : comment faire pour que l'image affiché soit toujours ajuster à la taille de la zone de destination ?

Merci beaucoup forum adoré !!!

Bonne journée
Tchao
 
Z

Zon

Guest
Salut,


Si images est un sous répertoire de Excel on aura comme chemin
"S:\DEPARTEMENT SDL\Qfabrication\JTARDY\Excel\NomdufichierXL.xls"
et
"S:\DEPARTEMENT SDL\Qfabrication\JTARDY\Excel\images\nomdufichierimage.gif"

donc cela devient comme je disais

Private Sub ComboBox1_Change()
dim NomF$
select case ComboBox1.value
case "Aide":nomf="icone_aide_fr[1].gif"
case "Stats": nomf="icone_stats[1].gif"
end select
nomf=thisworkbook.path & "\images\" & nomf
if fichierexiste(nomf)then
with Image1
.picturesizemode=1 'mode étendue pour adapter la taille de l'image
.Picture = LoadPicture(nomf)
end with
end if
End Sub

Function FichierExiste(NomF$) As Boolean
On Error Resume Next
FichierExiste = ((GetAttr(NomF) And vbDirectory) = 0)
End Function


A+++
 

Discussions similaires

Réponses
12
Affichages
560
Réponses
1
Affichages
354
Compte Supprimé 979
C

Statistiques des forums

Discussions
313 131
Messages
2 095 546
Membres
106 293
dernier inscrit
jjj