Salut,
En cherchant un peu j'ai trouvé çà : http://www.info-3000.com/vbvba/fichiers/index.php
Le chapitre sur les dossiers spéciaux va t'intéresser.
Chez moi le code suivant fonctionne pour récupérer le chemin du C:\Users\Girodo :
Private Declare Function SHGetSpecialFolderPath Lib "shell32.dll" Alias "SHGetSpecialFolderPathA" (ByVal hwndOwner As Long, ByVal lpszPath As String, ByVal nFolder As Long, ByVal fCreate As Long) As Long
Public Function DossierSpecial(ReferenceDossier As Long)
Dim CheminAcces As String
CheminAcces = Space(256)
SHGetSpecialFolderPath Hwnd, CheminAcces, ReferenceDossier, 0
DossierSpecial = Left(CheminAcces, InStr(CheminAcces, Chr(0)) - 1)
End Function
Sub ListeDossiersSpeciaux()
' On doit initialiser une variable de comptage en Long, sinon, ça ne marche pas :
Dim Compteur As Long
' Cette ligne fait en sorte que, en cas de numéro inexistant, il n'y ait pas
' d'erreur, mais qu'on passe à la suivante :
On Error Resume Next
Debug.Print DossierSpecial(40)
End Sub
Girodo,