Deadpool_CC
XLDnaute Accro
Bonjour,
Les noms de dossiers spéciaux dans Windows sont des alias vers des répertoires. et la destination (l'emplacement) peut être personnalisé par l'utilisateur.
Pour certains dossier (comme le "Bureau"), la fonction .Specialfolders sait les gérer
Mais étrangement le Dossier "Téléchargements" ou "Downloads" n'est pas gérer par cette fonction. et je n'arrive pas à trouver un moyen de le récupérer.
ps : pour le moment (cf. mon code ci dessous) je construis le chemin ... mais si l'utilisateur à personnaliser l'emplacement je suis dans le chou ma bonne dame
Connaissez vous un moyen de récupérer l'emplacement de ce dossier spécial "Téléchargements" ?
Voici mon code VBA :
A titre d'info :
J'ai aussi chercher dans Environ() mais ce dossier n'est pas déclaré non plus
Lla procédure VBA qui les sort toutes les variables d'environnement :
Merci d'avance pour votre aide
Les noms de dossiers spéciaux dans Windows sont des alias vers des répertoires. et la destination (l'emplacement) peut être personnalisé par l'utilisateur.
Pour certains dossier (comme le "Bureau"), la fonction .Specialfolders sait les gérer
Mais étrangement le Dossier "Téléchargements" ou "Downloads" n'est pas gérer par cette fonction. et je n'arrive pas à trouver un moyen de le récupérer.
ps : pour le moment (cf. mon code ci dessous) je construis le chemin ... mais si l'utilisateur à personnaliser l'emplacement je suis dans le chou ma bonne dame
Connaissez vous un moyen de récupérer l'emplacement de ce dossier spécial "Téléchargements" ?
Voici mon code VBA :
VB:
Public CheminFichierEdition As String
Public CheminTelechargements As String
'------------------------------------------------------------------
' Obtenir le chemin d'un dossier spécial
'
Function ObtenirCheminSpecial(Dossier As String) As String
'
' Cette fonction traite pour le moment les valeurs suivantes
' anglaise & française de 'Dossier' :
' Desktop ; Bureau
' Downloads ; Téléchargements
' MyDocuments ; Mes Documents
'
' Pour les autres valeurs ont fait une tentative mais résultat non garanti
On Error GoTo ObtenirCheminSpecialError
Dim Chemin As String
Chemin = ""
Dim oWSHShell As Object
Set oWSHShell = CreateObject("WScript.Shell")
Select Case Dossier
Case "Desktop", "Bureau"
Chemin = oWSHShell.SpecialFolders("Desktop")
Case "Downloads", "Téléchargements"
Chemin = "C:\Users\" & Environ("USERNAME") & "\Downloads"
Case "MyDocuments", "Mes documents"
Chemin = oWSHShell.SpecialFolders("MyDocuments")
Case Else
Chemin = oWSHShell.SpecialFolders(Dossier)
End Select
If (Not (oWSHShell Is Nothing)) Then Set oWSHShell = Nothing
ObtenirCheminSpecial = Chemin
Exit Function
ObtenirCheminSpecialError:
If (Not (oWSHShell Is Nothing)) Then Set oWSHShell = Nothing
ObtenirCheminSpecial = ""
End Function
Sub Test()
'
' ImportCSV Macro
'
CheminFichierEdition = ThisWorkbook.Path
CheminTelechargements = ObtenirCheminSpecial("Downloads")
MsgBox "Edit : " & CheminFichierEdition & vbCrLf & "téléchargements : " & CheminTelechargements
End Sub
A titre d'info :
J'ai aussi chercher dans Environ() mais ce dossier n'est pas déclaré non plus
Lla procédure VBA qui les sort toutes les variables d'environnement :
Code:
Sub AfficheInformationsSysteme()
For VariableSysteme = 1 To 255
If Environ(VariableSysteme) = "" Then Exit For
VariableValeur = Split(Environ(VariableSysteme), "=")
ActiveSheet.Cells(VariableSysteme, 1).Value = VariableSysteme
ActiveSheet.Cells(VariableSysteme, 2).Value = VariableValeur(0)
ActiveSheet.Cells(VariableSysteme, 3).Value = VariableValeur(1)
Next VariableSysteme
End Sub
Merci d'avance pour votre aide