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

ThisWorkbook.Path

14 réponses
Avatar
Jean-Paul V
Bonjour à tous

Comment modifier cette macro déclanchée en cliquant sur le bouton
‘‘B_photo’’ d’un Userform qui va chercher un fichier .jpg dans le même
répertoire que le fichier actif pour mettre le nom du fichier dans la zone de
texte du Userform nommée Photo

1 ) This ThisWorkbook.Path ne marche pas il prend en fait le dernier
répertoire utilisé au lieu de prendre le répertoire du fichier actif
2 ) Il met dans la zone de texte du Userform par exemple
D:\DISCOTHEQUE\BACH37779.jpg alors que je souhaiterais avoir BACH37779.jpg



Private Sub B_photo_Click()
repertoire = ThisWorkbook.Path & "\"
nf = Application.GetOpenFilename("Fichiers jpg,*.jpg")
If Not nf = False Then
Me.Photo = nf
End If
End Sub

A + j’espère

--
Jean-Paul V

10 réponses

1 2
Avatar
Daniel.C
Bonjour.
Private Sub B_photo_Click()
ChDir ActiveWorkbook.Path
nf = Application.GetOpenFilename("Fichiers jpg,*.jpg")
If Not nf = False Then
Me.Photo = Dir(nf)
End If
End Sub
Cordialement.
Daniel

Bonjour à tous

Comment modifier cette macro déclanchée en cliquant sur le bouton
‘‘B_photo’’ d’un Userform qui va chercher un fichier .jpg dans le même
répertoire que le fichier actif pour mettre le nom du fichier dans la zone de
texte du Userform nommée Photo

1 ) This ThisWorkbook.Path ne marche pas il prend en fait le dernier
répertoire utilisé au lieu de prendre le répertoire du fichier actif
2 ) Il met dans la zone de texte du Userform par exemple
D:DISCOTHEQUEBACH37779.jpg alors que je souhaiterais avoir BACH37779.jpg



Private Sub B_photo_Click()
repertoire = ThisWorkbook.Path & ""
nf = Application.GetOpenFilename("Fichiers jpg,*.jpg")
If Not nf = False Then
Me.Photo = nf
End If
End Sub

A + j’espère


Avatar
MichDenis
Bonjour Jean-Paul,

Déclaration de l'API dans le haut du module standard
Declare Function SetCurrentDirectoryA Lib _
"kernel32" (ByVal lpPathName As String) As Long
'------------------------------------------
Public Sub ChDirNet(szPath As String)
Dim lReturn As Long
lReturn = SetCurrentDirectoryA(szPath)
If lReturn = 0 Then Err.Raise vbObjectError + 1, "Error setting path."
End Sub

'------------------------------------------
Private Sub B_photo_Click()
Dim Repertoire As String
Repertoire = ThisWorkbook.Path & ""
ChDirNet Repertoire
nf = Application.GetOpenFilename("Fichiers jpg,*.jpg")
If Not nf = False Then
Me.Photo = nf
End If
End Sub
'------------------------------------------



"Jean-Paul V" a écrit dans le message de groupe de
discussion :
Bonjour à tous

Comment modifier cette macro déclanchée en cliquant sur le bouton
‘‘B_photo’’ d’un Userform qui va chercher un fichier .jpg dans le même
répertoire que le fichier actif pour mettre le nom du fichier dans la zone de
texte du Userform nommée Photo

1 ) This ThisWorkbook.Path ne marche pas il prend en fait le dernier
répertoire utilisé au lieu de prendre le répertoire du fichier actif
2 ) Il met dans la zone de texte du Userform par exemple
D:DISCOTHEQUEBACH37779.jpg alors que je souhaiterais avoir BACH37779.jpg



Private Sub B_photo_Click()
repertoire = ThisWorkbook.Path & ""
nf = Application.GetOpenFilename("Fichiers jpg,*.jpg")
If Not nf = False Then
Me.Photo = nf
End If
End Sub

A + j’espère

--
Jean-Paul V
Avatar
MichDenis
Bonjour Daniel,

Pour être vraiment sûr, j'aurais ajouter ceci au cas où ...
;-)

ChDrive Left(ActiveWorkbook.Path, 1)
ChDir ActiveWorkbook.Path

le reste de la macro.




"Daniel.C" a écrit dans le message de groupe de discussion :
#
Bonjour.
Private Sub B_photo_Click()
ChDir ActiveWorkbook.Path
nf = Application.GetOpenFilename("Fichiers jpg,*.jpg")
If Not nf = False Then
Me.Photo = Dir(nf)
End If
End Sub
Cordialement.
Daniel

Bonjour à tous

Comment modifier cette macro déclanchée en cliquant sur le bouton
‘‘B_photo’’ d’un Userform qui va chercher un fichier .jpg dans le même
répertoire que le fichier actif pour mettre le nom du fichier dans la zone de
texte du Userform nommée Photo

1 ) This ThisWorkbook.Path ne marche pas il prend en fait le dernier
répertoire utilisé au lieu de prendre le répertoire du fichier actif
2 ) Il met dans la zone de texte du Userform par exemple
D:DISCOTHEQUEBACH37779.jpg alors que je souhaiterais avoir BACH37779.jpg



Private Sub B_photo_Click()
repertoire = ThisWorkbook.Path & ""
nf = Application.GetOpenFilename("Fichiers jpg,*.jpg")
If Not nf = False Then
Me.Photo = nf
End If
End Sub

A + j’espère


Avatar
MichDenis
L'auteur de ceci : Public Sub ChDirNet(szPath As String)
C'est un certain M. Rob Bovey
;-)

"MichDenis" a écrit dans le message de groupe de discussion :
#
Bonjour Jean-Paul,

Déclaration de l'API dans le haut du module standard
Declare Function SetCurrentDirectoryA Lib _
"kernel32" (ByVal lpPathName As String) As Long
'------------------------------------------
Public Sub ChDirNet(szPath As String)
Dim lReturn As Long
lReturn = SetCurrentDirectoryA(szPath)
If lReturn = 0 Then Err.Raise vbObjectError + 1, "Error setting path."
End Sub

'------------------------------------------
Private Sub B_photo_Click()
Dim Repertoire As String
Repertoire = ThisWorkbook.Path & ""
ChDirNet Repertoire
nf = Application.GetOpenFilename("Fichiers jpg,*.jpg")
If Not nf = False Then
Me.Photo = nf
End If
End Sub
'------------------------------------------



"Jean-Paul V" a écrit dans le message de groupe de
discussion :
Bonjour à tous

Comment modifier cette macro déclanchée en cliquant sur le bouton
‘‘B_photo’’ d’un Userform qui va chercher un fichier .jpg dans le même
répertoire que le fichier actif pour mettre le nom du fichier dans la zone de
texte du Userform nommée Photo

1 ) This ThisWorkbook.Path ne marche pas il prend en fait le dernier
répertoire utilisé au lieu de prendre le répertoire du fichier actif
2 ) Il met dans la zone de texte du Userform par exemple
D:DISCOTHEQUEBACH37779.jpg alors que je souhaiterais avoir BACH37779.jpg



Private Sub B_photo_Click()
repertoire = ThisWorkbook.Path & ""
nf = Application.GetOpenFilename("Fichiers jpg,*.jpg")
If Not nf = False Then
Me.Photo = nf
End If
End Sub

A + j’espère

--
Jean-Paul V
Avatar
Daniel.C
Tout à fait exact.
Pure flemme de ma part.
Daniel

Bonjour Daniel,

Pour être vraiment sûr, j'aurais ajouter ceci au cas où ...
;-)

ChDrive Left(ActiveWorkbook.Path, 1)
ChDir ActiveWorkbook.Path

le reste de la macro.




"Daniel.C" a écrit dans le message de groupe de
discussion : #
Bonjour.
Private Sub B_photo_Click()
ChDir ActiveWorkbook.Path
nf = Application.GetOpenFilename("Fichiers jpg,*.jpg")
If Not nf = False Then
Me.Photo = Dir(nf)
End If
End Sub
Cordialement.
Daniel

Bonjour à tous

Comment modifier cette macro déclanchée en cliquant sur le bouton
‘‘B_photo’’ d’un Userform qui va chercher un fichier .jpg dans le même
répertoire que le fichier actif pour mettre le nom du fichier dans la zone
de texte du Userform nommée Photo

1 ) This ThisWorkbook.Path ne marche pas il prend en fait le dernier
répertoire utilisé au lieu de prendre le répertoire du fichier actif
2 ) Il met dans la zone de texte du Userform par exemple
D:DISCOTHEQUEBACH37779.jpg alors que je souhaiterais avoir BACH37779.jpg



Private Sub B_photo_Click()
repertoire = ThisWorkbook.Path & ""
nf = Application.GetOpenFilename("Fichiers jpg,*.jpg")
If Not nf = False Then
Me.Photo = nf
End If
End Sub

A + j’espère




Avatar
LSteph
Bonjour,

'....
ChDir ThisWorkbook.Path
'...

--
lSteph

On 16 juin, 15:12, Jean-Paul V
wrote:
Bonjour à tous

Comment modifier cette macro déclanchée en cliquant sur le bouton
‘‘B_photo’’ d’un Userform qui va chercher un fichier .jpg dans le même
répertoire que le fichier actif pour mettre le nom du fichier dans la z one de
texte du Userform nommée Photo

1 )  This ThisWorkbook.Path ne marche pas il prend en fait le dernier
répertoire utilisé au lieu de prendre le répertoire du fichier acti f
2 ) Il met dans la zone de texte du Userform par exemple
D:DISCOTHEQUEBACH37779.jpg alors que je souhaiterais avoir BACH37779.jp g

Private Sub B_photo_Click()
    repertoire = ThisWorkbook.Path & ""
    nf = Application.GetOpenFilename("Fichiers jpg,*.jpg")
    If Not nf = False Then
      Me.Photo = nf
    End If
End Sub

A + j’espère

--
Jean-Paul V


Avatar
LSteph
...reste à savoir toutefois... si tu veux:

répertoire que le fichier actif


ActiveWorkbook

ou le fichier qui lance la macro selon ce que tu codais
Thisworkbook
Avatar
MichDenis
Rassure-toi, le demandeur n'a sûrement pas plus d'un lecteur !
;-)

"Daniel.C" a écrit dans le message de groupe de discussion :
u$M7#
Tout à fait exact.
Pure flemme de ma part.
Daniel

Bonjour Daniel,

Pour être vraiment sûr, j'aurais ajouter ceci au cas où ...
;-)

ChDrive Left(ActiveWorkbook.Path, 1)
ChDir ActiveWorkbook.Path

le reste de la macro.




"Daniel.C" a écrit dans le message de groupe de
discussion : #
Bonjour.
Private Sub B_photo_Click()
ChDir ActiveWorkbook.Path
nf = Application.GetOpenFilename("Fichiers jpg,*.jpg")
If Not nf = False Then
Me.Photo = Dir(nf)
End If
End Sub
Cordialement.
Daniel

Bonjour à tous

Comment modifier cette macro déclanchée en cliquant sur le bouton
‘‘B_photo’’ d’un Userform qui va chercher un fichier .jpg dans le même
répertoire que le fichier actif pour mettre le nom du fichier dans la zone
de texte du Userform nommée Photo

1 ) This ThisWorkbook.Path ne marche pas il prend en fait le dernier
répertoire utilisé au lieu de prendre le répertoire du fichier actif
2 ) Il met dans la zone de texte du Userform par exemple
D:DISCOTHEQUEBACH37779.jpg alors que je souhaiterais avoir BACH37779.jpg



Private Sub B_photo_Click()
repertoire = ThisWorkbook.Path & ""
nf = Application.GetOpenFilename("Fichiers jpg,*.jpg")
If Not nf = False Then
Me.Photo = nf
End If
End Sub

A + j’espère




Avatar
Daniel.C
D, c'est souvent le lecteur CD...
Daniel

Rassure-toi, le demandeur n'a sûrement pas plus d'un lecteur !
;-)

"Daniel.C" a écrit dans le message de groupe de
discussion : u$M7#
Tout à fait exact.
Pure flemme de ma part.
Daniel

Bonjour Daniel,

Pour être vraiment sûr, j'aurais ajouter ceci au cas où ...
;-)

ChDrive Left(ActiveWorkbook.Path, 1)
ChDir ActiveWorkbook.Path

le reste de la macro.




"Daniel.C" a écrit dans le message de groupe de
discussion : #
Bonjour.
Private Sub B_photo_Click()
ChDir ActiveWorkbook.Path
nf = Application.GetOpenFilename("Fichiers jpg,*.jpg")
If Not nf = False Then
Me.Photo = Dir(nf)
End If
End Sub
Cordialement.
Daniel

Bonjour à tous

Comment modifier cette macro déclanchée en cliquant sur le bouton
‘‘B_photo’’ d’un Userform qui va chercher un fichier .jpg dans le même
répertoire que le fichier actif pour mettre le nom du fichier dans la zone
de texte du Userform nommée Photo

1 ) This ThisWorkbook.Path ne marche pas il prend en fait le dernier
répertoire utilisé au lieu de prendre le répertoire du fichier actif
2 ) Il met dans la zone de texte du Userform par exemple
D:DISCOTHEQUEBACH37779.jpg alors que je souhaiterais avoir BACH37779.jpg



Private Sub B_photo_Click()
repertoire = ThisWorkbook.Path & ""
nf = Application.GetOpenFilename("Fichiers jpg,*.jpg")
If Not nf = False Then
Me.Photo = nf
End If
End Sub

A + j’espère






Avatar
MichDenis
Ok pour D, mais ce doit être un peu plus compliqué d'enregistrer le fichier !
;-))


"Daniel.C" a écrit dans le message de groupe de discussion :

D, c'est souvent le lecteur CD...
Daniel

Rassure-toi, le demandeur n'a sûrement pas plus d'un lecteur !
;-)

"Daniel.C" a écrit dans le message de groupe de
discussion : u$M7#
Tout à fait exact.
Pure flemme de ma part.
Daniel

Bonjour Daniel,

Pour être vraiment sûr, j'aurais ajouter ceci au cas où ...
;-)

ChDrive Left(ActiveWorkbook.Path, 1)
ChDir ActiveWorkbook.Path

le reste de la macro.




"Daniel.C" a écrit dans le message de groupe de
discussion : #
Bonjour.
Private Sub B_photo_Click()
ChDir ActiveWorkbook.Path
nf = Application.GetOpenFilename("Fichiers jpg,*.jpg")
If Not nf = False Then
Me.Photo = Dir(nf)
End If
End Sub
Cordialement.
Daniel

Bonjour à tous

Comment modifier cette macro déclanchée en cliquant sur le bouton
‘‘B_photo’’ d’un Userform qui va chercher un fichier .jpg dans le même
répertoire que le fichier actif pour mettre le nom du fichier dans la zone
de texte du Userform nommée Photo

1 ) This ThisWorkbook.Path ne marche pas il prend en fait le dernier
répertoire utilisé au lieu de prendre le répertoire du fichier actif
2 ) Il met dans la zone de texte du Userform par exemple
D:DISCOTHEQUEBACH37779.jpg alors que je souhaiterais avoir BACH37779.jpg



Private Sub B_photo_Click()
repertoire = ThisWorkbook.Path & ""
nf = Application.GetOpenFilename("Fichiers jpg,*.jpg")
If Not nf = False Then
Me.Photo = nf
End If
End Sub

A + j’espère






1 2