Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2013 Ouvrir une fenetre d'ouverture de fichier avec le chemin du classeur courant

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

juicelink

XLDnaute Nouveau
Bonjour tout le monde 🙂

je me permets de vous embêter car je ne trouve pas la solution à mon problème malgré mes recherches
Je souhaite via vba permettre à l'utilisateur de selectionner un fichier excel qui me permettra de faire plein de trucs avec
je souhaiterai que le chemin proposé par défaut soit le chemin du classeur courant (celui via lequel est lancé la macro)

j'ai beau mettre le code qui me semblait adéquat, il me propose systématiquement le chemin C:\Users\[utilisateur]\Documents

voila mon code :
le FichierSource étant celui que l'utilisateur choisira

Code:
Sub MaisPourquoiCaMarchePas()
Dim FichierSource As String

ChDir Workbooks(ActiveWorkbook.Name).Path
FichierSource = Application.GetOpenFilename()
    If FichierSource = "Faux" Then Exit Sub
Workbooks.Open FichierSource

End Sub


auriez vous une idée s'il vous plait ?
merci beaucoup et très bonne journée,
julien
 
Solution
À moins que le classeur actif soit sur un chemin réseau. Dans ce cas il faut changer de stratégie.
Il vous faut ce code :
VB:
#If VBA7 Then
    Private Declare PtrSafe Function SetCurrentDirectory Lib "kernel32" _
        Alias "SetCurrentDirectoryA" (ByVal lpPathName As String) As Long
#Else
    Private Declare Function SetCurrentDirectory Lib "kernel32" _
        Alias "SetCurrentDirectoryA" (ByVal lpPathName As String) As Long
#End If
Et faire :
VB:
SetCurrentDirectory ActiveWorkbook.Path
Bonjour,
Essaye avec
VB:
ChDir ThisWorkbook.Path
 
Bonsoir le fil

😉
VB:
Sub MaisPourquoiCaMarche()
Dim FichierSource
FichierSource = Application.GetOpenFilename("Excel My Love (*.xl??), *.xl??")
If FichierSource = False Then FichierSource = ThisWorkbook.Path
MsgBox "J'ai sélectionné:" & Chr(13) & FichierSource
End Sub
 
À moins que le classeur actif soit sur un chemin réseau. Dans ce cas il faut changer de stratégie.
Il vous faut ce code :
VB:
#If VBA7 Then
    Private Declare PtrSafe Function SetCurrentDirectory Lib "kernel32" _
        Alias "SetCurrentDirectoryA" (ByVal lpPathName As String) As Long
#Else
    Private Declare Function SetCurrentDirectory Lib "kernel32" _
        Alias "SetCurrentDirectoryA" (ByVal lpPathName As String) As Long
#End If
Et faire :
VB:
SetCurrentDirectory ActiveWorkbook.Path
 
Bonjour à vous tous

Voir le code original ici

VB:
Sub MaisPourquoiCaMarchePas()
Dim chemin As String
Dim TempDrive As String
Dim ThePath As String
Dim UserDir As String
Dim UserDrive As String

UserDrive = Left(CurDir, 1) 'On Mémorise les Paramètres du User
UserDir = CurDir  ' idem

chemin = ThisWorkbook.path

TempDrive = Left(chemin, 1) 'le lecteur mappé sur un serveur réseau
ThePath = chemin 'à ajuster au répertoire contenant tes classeurs

ChDrive TempDrive
ChDir ThePath

'Recupération du chemin et nom fichier d'extraction
chemin = Application.GetOpenFilename

ChDrive UserDrive 'On remet les paramètres du User
ChDir UserDir 'idem

End Sub

@Phil69970
 

hello !
merci de ton message
alors ca ne fonctionne pas mieux non plus, mais le truc trop fort c'est que dans le msgbox, il affiche le bon chemin !
 
Re

C'était évident, non? lol
VB:
Sub MaisPourquoiCaMarcheMieux()
Dim FichierSource
FichierSource = Application.GetOpenFilename("Excel My Love (*.xl??), *.xl??")
If FichierSource = False Then FichierSource = ThisWorkbook.Path
Workbooks.Open FichierSource
End Sub
test OK chez moi
(je le sais, je viens de le faire pendant que ma tisane infuse 😉
 

Hello !
quand la macro arrive sur le "ChDrive TempDrive", j'ai ce message d'erreur "Erreur d'execution '5' : argument ou appel de procédure incorrect"

en effet, le chemin visé se trouve sur un lecteur réseau
 

Bingo !
ça marche impec
merci beaucoup !!!!
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…