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 🙂