Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Pb de déclaration de répertoire

6 réponses
Avatar
Tatane
Bonjour,

Je fais des liens pour afficher des images dans un userform en fonction d'un
critère mais quand je double-clique sur mon fichier pour l'ouvrir par
l'explorateur windows, le VBA ne me trouve pas le répertoire voulu. Il faut
que j'ouvre Excel - ouvrir - aller chercher le fichier ....
Même quand j'utilise l'icone "ouvrir" ça beugue.

Voici ce que j'ai écrit:

'Désigne par défaut le répertoire où se trouvent les fichiers
Dir ThisWorkbook.Path
'Affiche la photo en fonction de la valeur définie
If LabelTET.Caption = 1 Then Image_LIEE.Picture = LoadPicture("1.jpg")
If LabelTET.Caption = 2 Then Image_LIEE.Picture = LoadPicture("2.jpg")
If LabelTET.Caption = 3 Then Image_LIEE.Picture = LoadPicture("3.jpg")
If LabelTET.Caption = 4 Then Image_LIEE.Picture = LoadPicture("4.jpg")
If LabelTET.Caption = 5 Then Image_LIEE.Picture = LoadPicture("5.jpg")
If LabelTET.Caption = 6 Then Image_LIEE.Picture = LoadPicture("6.jpg")
If LabelTET.Caption = 7 Then Image_LIEE.Picture = LoadPicture("7.jpg")
If LabelTET.Caption = 8 Then Image_LIEE.Picture = LoadPicture("8.jpg")
'Affiche l'image
Image_LIEE.Visible = True

A mon avis le souci est au niveau du "Dir ThisWorkbook.path" Mais bon... Moi
pas être assez calé!
J'ai pourtant fais plusieurs essais (ActiveWorkbook.path, ChDir au lieu de
Dir, Placer cette ligne à plusieurs endroits du VBA; etc...).

Si quelqu'un veut bien m'aider, je le remercie d'avance.

6 réponses

Avatar
JLuc
Tatane avait soumis l'idée :
Bonjour,

Je fais des liens pour afficher des images dans un userform en fonction d'un
critère mais quand je double-clique sur mon fichier pour l'ouvrir par
l'explorateur windows, le VBA ne me trouve pas le répertoire voulu. Il faut
que j'ouvre Excel - ouvrir - aller chercher le fichier ....
Même quand j'utilise l'icone "ouvrir" ça beugue.

Voici ce que j'ai écrit:

'Désigne par défaut le répertoire où se trouvent les fichiers


Il faut utiliser :
ChDir ThisWorkbook.Path

Dir ThisWorkbook.Path
'Affiche la photo en fonction de la valeur définie


Et là, en une seule ligne :
Image_LIEE.Picture = LoadPicture(LabelTET.Caption & ".jpg")
Ca remplace tes 8 lignes

If LabelTET.Caption = 1 Then Image_LIEE.Picture = LoadPicture("1.jpg")
If LabelTET.Caption = 2 Then Image_LIEE.Picture = LoadPicture("2.jpg")
If LabelTET.Caption = 3 Then Image_LIEE.Picture = LoadPicture("3.jpg")
If LabelTET.Caption = 4 Then Image_LIEE.Picture = LoadPicture("4.jpg")
If LabelTET.Caption = 5 Then Image_LIEE.Picture = LoadPicture("5.jpg")
If LabelTET.Caption = 6 Then Image_LIEE.Picture = LoadPicture("6.jpg")
If LabelTET.Caption = 7 Then Image_LIEE.Picture = LoadPicture("7.jpg")
If LabelTET.Caption = 8 Then Image_LIEE.Picture = LoadPicture("8.jpg")
'Affiche l'image
Image_LIEE.Visible = True

A mon avis le souci est au niveau du "Dir ThisWorkbook.path" Mais bon... Moi
pas être assez calé!
J'ai pourtant fais plusieurs essais (ActiveWorkbook.path, ChDir au lieu de
Dir, Placer cette ligne à plusieurs endroits du VBA; etc...).

Si quelqu'un veut bien m'aider, je le remercie d'avance.


--
JLuc

Avatar
Tatane
Je te remercie grandement JLuc pour la "contraction" mais malgré cela, quand
je lance mon fichier à partir de l'explorateur windows, cela ne fonctionne
toujours pas (erreur 58).
Il me faut ouvrir Excel - fichier - ouvrir .....

Ne dois-je pas mettre le "ChDir ..." autre-part que dans mon
"Private Sub ChercherMATERIEL_Click()" ?

Pour que tu "voies" mieux, je te joins mon fichier + 8 images (répertoire
INVENTAIRE compressé):
http://cjoint.com/?kzm0UrqLhD

NOTA1: à la 1ère question, il faut répondre NON pour basculer sur le bon
userform.
NOTA2: Il n'y a pas de données personnelles.


Tatane avait soumis l'idée :
Bonjour,

Je fais des liens pour afficher des images dans un userform en fonction d'un
critère mais quand je double-clique sur mon fichier pour l'ouvrir par
l'explorateur windows, le VBA ne me trouve pas le répertoire voulu. Il faut
que j'ouvre Excel - ouvrir - aller chercher le fichier ....
Même quand j'utilise l'icone "ouvrir" ça beugue.

Voici ce que j'ai écrit:

'Désigne par défaut le répertoire où se trouvent les fichiers


Il faut utiliser :
ChDir ThisWorkbook.Path

Dir ThisWorkbook.Path
'Affiche la photo en fonction de la valeur définie


Et là, en une seule ligne :
Image_LIEE.Picture = LoadPicture(LabelTET.Caption & ".jpg")
Ca remplace tes 8 lignes

If LabelTET.Caption = 1 Then Image_LIEE.Picture = LoadPicture("1.jpg")
If LabelTET.Caption = 2 Then Image_LIEE.Picture = LoadPicture("2.jpg")
If LabelTET.Caption = 3 Then Image_LIEE.Picture = LoadPicture("3.jpg")
If LabelTET.Caption = 4 Then Image_LIEE.Picture = LoadPicture("4.jpg")
If LabelTET.Caption = 5 Then Image_LIEE.Picture = LoadPicture("5.jpg")
If LabelTET.Caption = 6 Then Image_LIEE.Picture = LoadPicture("6.jpg")
If LabelTET.Caption = 7 Then Image_LIEE.Picture = LoadPicture("7.jpg")
If LabelTET.Caption = 8 Then Image_LIEE.Picture = LoadPicture("8.jpg")
'Affiche l'image
Image_LIEE.Visible = True

A mon avis le souci est au niveau du "Dir ThisWorkbook.path" Mais bon... Moi
pas être assez calé!
J'ai pourtant fais plusieurs essais (ActiveWorkbook.path, ChDir au lieu de
Dir, Placer cette ligne à plusieurs endroits du VBA; etc...).

Si quelqu'un veut bien m'aider, je le remercie d'avance.


--
JLuc






Avatar
JLuc
J'ai ouvert, j'ai tester, ça marche 8-o
je l'ai pourtant ouvert via l'explorateur
Mais tu peux éventuellement modifier comme ceci :
Image_LIEE.Picture = LoadPicture(ThisWorkbook.Path & "" & _
LabelTET.Caption & ".jpg")

Par contre pour les images, il est vrai que ma solution n'est pas la
bonne. Il faudrai mettre une référence à chaque matériel (unique)
rechercher en fonction du choix la bonne référence dans ta BD, et
prendre cette réference comme nom du fichier image ;-)

Tatane avait soumis l'idée :
Je te remercie grandement JLuc pour la "contraction" mais malgré cela, quand
je lance mon fichier à partir de l'explorateur windows, cela ne fonctionne
toujours pas (erreur 58).
Il me faut ouvrir Excel - fichier - ouvrir .....

Ne dois-je pas mettre le "ChDir ..." autre-part que dans mon
"Private Sub ChercherMATERIEL_Click()" ?

Pour que tu "voies" mieux, je te joins mon fichier + 8 images (répertoire
INVENTAIRE compressé):
http://cjoint.com/?kzm0UrqLhD

NOTA1: à la 1ère question, il faut répondre NON pour basculer sur le bon
userform.
NOTA2: Il n'y a pas de données personnelles.


Tatane avait soumis l'idée :
Bonjour,

Je fais des liens pour afficher des images dans un userform en fonction
d'un critère mais quand je double-clique sur mon fichier pour l'ouvrir par
l'explorateur windows, le VBA ne me trouve pas le répertoire voulu. Il faut
que j'ouvre Excel - ouvrir - aller chercher le fichier ....
Même quand j'utilise l'icone "ouvrir" ça beugue.

Voici ce que j'ai écrit:

'Désigne par défaut le répertoire où se trouvent les fichiers


Il faut utiliser :
ChDir ThisWorkbook.Path

Dir ThisWorkbook.Path
'Affiche la photo en fonction de la valeur définie


Et là, en une seule ligne :
Image_LIEE.Picture = LoadPicture(LabelTET.Caption & ".jpg")
Ca remplace tes 8 lignes

If LabelTET.Caption = 1 Then Image_LIEE.Picture = LoadPicture("1.jpg")
If LabelTET.Caption = 2 Then Image_LIEE.Picture = LoadPicture("2.jpg")
If LabelTET.Caption = 3 Then Image_LIEE.Picture = LoadPicture("3.jpg")
If LabelTET.Caption = 4 Then Image_LIEE.Picture = LoadPicture("4.jpg")
If LabelTET.Caption = 5 Then Image_LIEE.Picture = LoadPicture("5.jpg")
If LabelTET.Caption = 6 Then Image_LIEE.Picture = LoadPicture("6.jpg")
If LabelTET.Caption = 7 Then Image_LIEE.Picture = LoadPicture("7.jpg")
If LabelTET.Caption = 8 Then Image_LIEE.Picture = LoadPicture("8.jpg")
'Affiche l'image
Image_LIEE.Visible = True

A mon avis le souci est au niveau du "Dir ThisWorkbook.path" Mais bon...
Moi pas être assez calé!
J'ai pourtant fais plusieurs essais (ActiveWorkbook.path, ChDir au lieu de
Dir, Placer cette ligne à plusieurs endroits du VBA; etc...).

Si quelqu'un veut bien m'aider, je le remercie d'avance.


--
JLuc






--
JLuc



Avatar
papou
Bonjour
Tel quel ton code fonctionne parfaitement sur mon Excel 2003 SP2, windows xp
pro SP2.
Cordialement
Pascal

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

Je te remercie grandement JLuc pour la "contraction" mais malgré cela,
quand
je lance mon fichier à partir de l'explorateur windows, cela ne fonctionne
toujours pas (erreur 58).
Il me faut ouvrir Excel - fichier - ouvrir .....

Ne dois-je pas mettre le "ChDir ..." autre-part que dans mon
"Private Sub ChercherMATERIEL_Click()" ?

Pour que tu "voies" mieux, je te joins mon fichier + 8 images (répertoire
INVENTAIRE compressé):
http://cjoint.com/?kzm0UrqLhD

NOTA1: à la 1ère question, il faut répondre NON pour basculer sur le bon
userform.
NOTA2: Il n'y a pas de données personnelles.


Tatane avait soumis l'idée :
Bonjour,

Je fais des liens pour afficher des images dans un userform en fonction
d'un
critère mais quand je double-clique sur mon fichier pour l'ouvrir par
l'explorateur windows, le VBA ne me trouve pas le répertoire voulu. Il
faut
que j'ouvre Excel - ouvrir - aller chercher le fichier ....
Même quand j'utilise l'icone "ouvrir" ça beugue.

Voici ce que j'ai écrit:

'Désigne par défaut le répertoire où se trouvent les fichiers


Il faut utiliser :
ChDir ThisWorkbook.Path

Dir ThisWorkbook.Path
'Affiche la photo en fonction de la valeur définie


Et là, en une seule ligne :
Image_LIEE.Picture = LoadPicture(LabelTET.Caption & ".jpg")
Ca remplace tes 8 lignes

If LabelTET.Caption = 1 Then Image_LIEE.Picture =
LoadPicture("1.jpg")
If LabelTET.Caption = 2 Then Image_LIEE.Picture =
LoadPicture("2.jpg")
If LabelTET.Caption = 3 Then Image_LIEE.Picture =
LoadPicture("3.jpg")
If LabelTET.Caption = 4 Then Image_LIEE.Picture =
LoadPicture("4.jpg")
If LabelTET.Caption = 5 Then Image_LIEE.Picture =
LoadPicture("5.jpg")
If LabelTET.Caption = 6 Then Image_LIEE.Picture =
LoadPicture("6.jpg")
If LabelTET.Caption = 7 Then Image_LIEE.Picture =
LoadPicture("7.jpg")
If LabelTET.Caption = 8 Then Image_LIEE.Picture =
LoadPicture("8.jpg")
'Affiche l'image
Image_LIEE.Visible = True

A mon avis le souci est au niveau du "Dir ThisWorkbook.path" Mais
bon... Moi
pas être assez calé!
J'ai pourtant fais plusieurs essais (ActiveWorkbook.path, ChDir au lieu
de
Dir, Placer cette ligne à plusieurs endroits du VBA; etc...).

Si quelqu'un veut bien m'aider, je le remercie d'avance.


--
JLuc








Avatar
Tatane
Merciiiiiiiiiii !
Avec la modif que tu me proposes mon fichier fonctionne parfaitement. Même
après avoir déplacé le répertoire sur un autre lecteur et relancé à partir de
l'explorateur !

Bonne journée.


J'ai ouvert, j'ai tester, ça marche 8-o
je l'ai pourtant ouvert via l'explorateur
Mais tu peux éventuellement modifier comme ceci :
Image_LIEE.Picture = LoadPicture(ThisWorkbook.Path & "" & _
LabelTET.Caption & ".jpg")

Par contre pour les images, il est vrai que ma solution n'est pas la
bonne. Il faudrai mettre une référence à chaque matériel (unique)
rechercher en fonction du choix la bonne référence dans ta BD, et
prendre cette réference comme nom du fichier image ;-)

Tatane avait soumis l'idée :
Je te remercie grandement JLuc pour la "contraction" mais malgré cela, quand
je lance mon fichier à partir de l'explorateur windows, cela ne fonctionne
toujours pas (erreur 58).
Il me faut ouvrir Excel - fichier - ouvrir .....

Ne dois-je pas mettre le "ChDir ..." autre-part que dans mon
"Private Sub ChercherMATERIEL_Click()" ?

Pour que tu "voies" mieux, je te joins mon fichier + 8 images (répertoire
INVENTAIRE compressé):
http://cjoint.com/?kzm0UrqLhD

NOTA1: à la 1ère question, il faut répondre NON pour basculer sur le bon
userform.
NOTA2: Il n'y a pas de données personnelles.


Tatane avait soumis l'idée :
Bonjour,

Je fais des liens pour afficher des images dans un userform en fonction
d'un critère mais quand je double-clique sur mon fichier pour l'ouvrir par
l'explorateur windows, le VBA ne me trouve pas le répertoire voulu. Il faut
que j'ouvre Excel - ouvrir - aller chercher le fichier ....
Même quand j'utilise l'icone "ouvrir" ça beugue.

Voici ce que j'ai écrit:

'Désigne par défaut le répertoire où se trouvent les fichiers


Il faut utiliser :
ChDir ThisWorkbook.Path

Dir ThisWorkbook.Path
'Affiche la photo en fonction de la valeur définie


Et là, en une seule ligne :
Image_LIEE.Picture = LoadPicture(LabelTET.Caption & ".jpg")
Ca remplace tes 8 lignes

If LabelTET.Caption = 1 Then Image_LIEE.Picture = LoadPicture("1.jpg")
If LabelTET.Caption = 2 Then Image_LIEE.Picture = LoadPicture("2.jpg")
If LabelTET.Caption = 3 Then Image_LIEE.Picture = LoadPicture("3.jpg")
If LabelTET.Caption = 4 Then Image_LIEE.Picture = LoadPicture("4.jpg")
If LabelTET.Caption = 5 Then Image_LIEE.Picture = LoadPicture("5.jpg")
If LabelTET.Caption = 6 Then Image_LIEE.Picture = LoadPicture("6.jpg")
If LabelTET.Caption = 7 Then Image_LIEE.Picture = LoadPicture("7.jpg")
If LabelTET.Caption = 8 Then Image_LIEE.Picture = LoadPicture("8.jpg")
'Affiche l'image
Image_LIEE.Visible = True

A mon avis le souci est au niveau du "Dir ThisWorkbook.path" Mais bon...
Moi pas être assez calé!
J'ai pourtant fais plusieurs essais (ActiveWorkbook.path, ChDir au lieu de
Dir, Placer cette ligne à plusieurs endroits du VBA; etc...).

Si quelqu'un veut bien m'aider, je le remercie d'avance.


--
JLuc






--
JLuc








Avatar
JLuc
Content de la bonne nouvelle !
Mais pense quand même aux problèmes des images

Tatane avait soumis l'idée :
Merciiiiiiiiiii !
Avec la modif que tu me proposes mon fichier fonctionne parfaitement. Même
après avoir déplacé le répertoire sur un autre lecteur et relancé à partir de
l'explorateur !

Bonne journée.


--
JLuc