OVH Cloud OVH Cloud

LoadPicture et Path

6 réponses
Avatar
ManBas
Bonjour à tous,
Je voudrais mettre une image dans un Label.caption , par exemple avec
LoadPicture, mais sans qu'il soit nécessaire de connaitre le chemin du
fichier (car celui-ci peut être différent selon le PC dans lequel on va
placer le répertoire).
Puis-je associer .Path ?
Si oui, comment l'écrire?
Merci +++ d'avance pour vos suggestions.

6 réponses

Avatar
JB
Bonjour,

Avec Chdir ActiveWorkbook.Path, lerépertoire courant devient celui de
l'application.
Si les photos sont dans sous-rep xx, LoadPicture("xx"&Photo)

Private Sub choix_nom_Change()
Me.Nom = Me.choix_nom
Me.Tph = Cells(Me.choix_nom.ListIndex + 2, 3)
Photo = Cells(Me.choix_nom.ListIndex + 2, 2)
ChDir ActiveWorkbook.Path ' Les photos sont dans le répertoire
de l'application
If Dir(Photo) <> "" Then ' La photo existe t-elle?
Me.monimage.Picture = LoadPicture(Photo)
Else
Me.monimage.Picture = LoadPicture("Transparent.gif")
End If
End Sub

Cordialement
Avatar
ManBas
Bonjour JB,
Ton aisance met en exergue mes difficultés.
Je ne parviens pas à retomber sur "mes pattes".
(Je n'ai toujours pas compris ce Me que souvent vous me présentez)

Mon code était plutôt du style:
Label1.caption=LoadPicture("C:Dossier1image.jpg")
afin de faire entrer l'image dans un userform en pré-déterminant la taille
et la position avec les critères du label1 défini dans UserForm_initialize.
L'idée est de laisser la possibilité à l'utilisateur de changer l'image de
son userform, simplement en la plaçant dans le répertoire et en la
re-nommant image.jpg.
Mais ainsi le chemin est figé...


"JB" a écrit dans le message de news:

Bonjour,

Avec Chdir ActiveWorkbook.Path, lerépertoire courant devient celui de
l'application.
Si les photos sont dans sous-rep xx, LoadPicture("xx"&Photo)

Private Sub choix_nom_Change()
Me.Nom = Me.choix_nom
Me.Tph = Cells(Me.choix_nom.ListIndex + 2, 3)
Photo = Cells(Me.choix_nom.ListIndex + 2, 2)
ChDir ActiveWorkbook.Path ' Les photos sont dans le répertoire
de l'application
If Dir(Photo) <> "" Then ' La photo existe t-elle?
Me.monimage.Picture = LoadPicture(Photo)
Else
Me.monimage.Picture = LoadPicture("Transparent.gif")
End If
End Sub

Cordialement
Avatar
JB
Exemples simples de photos dans un userform:

http://cjoint.com/?cvvEH8FniJ

JB
Avatar
gérard
Me remplace le nom de UserForm tout simplement
cela t'evite de le renommer en entier, au lieu de Userform.label1.caption,
tu ecrit simplement Me.label1.caption
A+
"ManBas" a écrit dans le message de news:
u$
Bonjour JB,
Ton aisance met en exergue mes difficultés.
Je ne parviens pas à retomber sur "mes pattes".
(Je n'ai toujours pas compris ce Me que souvent vous me présentez)

Mon code était plutôt du style:
Label1.caption=LoadPicture("C:Dossier1image.jpg")
afin de faire entrer l'image dans un userform en pré-déterminant la taille
et la position avec les critères du label1 défini dans
UserForm_initialize.
L'idée est de laisser la possibilité à l'utilisateur de changer l'image de
son userform, simplement en la plaçant dans le répertoire et en la
re-nommant image.jpg.
Mais ainsi le chemin est figé...


"JB" a écrit dans le message de news:

Bonjour,

Avec Chdir ActiveWorkbook.Path, lerépertoire courant devient celui de
l'application.
Si les photos sont dans sous-rep xx, LoadPicture("xx"&Photo)

Private Sub choix_nom_Change()
Me.Nom = Me.choix_nom
Me.Tph = Cells(Me.choix_nom.ListIndex + 2, 3)
Photo = Cells(Me.choix_nom.ListIndex + 2, 2)
ChDir ActiveWorkbook.Path ' Les photos sont dans le répertoire
de l'application
If Dir(Photo) <> "" Then ' La photo existe t-elle?
Me.monimage.Picture = LoadPicture(Photo)
Else
Me.monimage.Picture = LoadPicture("Transparent.gif")
End If
End Sub

Cordialement




Avatar
ManBas
Merci beaucoup de me répondre à nouveau JB.
Et merci aussi pour ces exemples pratiques.
A bientôt.

"JB" a écrit dans le message de news:

Exemples simples de photos dans un userform:

http://cjoint.com/?cvvEH8FniJ

JB



Avatar
ManBas
Merci pour cette précision Gérard.
Mes codes prennent le plus souvent une place démesurée (comparée aux codes
des "gens qui savent"): malheureusement ce n'est pas la longueur des mots
qui est en cause!
A bientôt.


"gérard" a écrit dans le message de news:
43fb78ee$0$18321$
Me remplace le nom de UserForm tout simplement
cela t'evite de le renommer en entier, au lieu de Userform.label1.caption,
tu ecrit simplement Me.label1.caption
A+
"ManBas" a écrit dans le message de news:
u$
Bonjour JB,
Ton aisance met en exergue mes difficultés.
Je ne parviens pas à retomber sur "mes pattes".
(Je n'ai toujours pas compris ce Me que souvent vous me présentez)

Mon code était plutôt du style:
Label1.caption=LoadPicture("C:Dossier1image.jpg")
afin de faire entrer l'image dans un userform en pré-déterminant la
taille et la position avec les critères du label1 défini dans
UserForm_initialize.
L'idée est de laisser la possibilité à l'utilisateur de changer l'image
de son userform, simplement en la plaçant dans le répertoire et en la
re-nommant image.jpg.
Mais ainsi le chemin est figé...


"JB" a écrit dans le message de news:

Bonjour,

Avec Chdir ActiveWorkbook.Path, lerépertoire courant devient celui de
l'application.
Si les photos sont dans sous-rep xx, LoadPicture("xx"&Photo)

Private Sub choix_nom_Change()
Me.Nom = Me.choix_nom
Me.Tph = Cells(Me.choix_nom.ListIndex + 2, 3)
Photo = Cells(Me.choix_nom.ListIndex + 2, 2)
ChDir ActiveWorkbook.Path ' Les photos sont dans le répertoire
de l'application
If Dir(Photo) <> "" Then ' La photo existe t-elle?
Me.monimage.Picture = LoadPicture(Photo)
Else
Me.monimage.Picture = LoadPicture("Transparent.gif")
End If
End Sub

Cordialement