Bonjour tout le monde et merci pour vos réponses.
Je me suis lancé dans l'adaptation du code.
Pouvez-vous me donnez votre avis?
Il fonctionne sur excel 32 bits. Est ce que quelqu'un peu faire un test sur excel 64 bits pour me dire si il fonctionne ?
Je n'ai pas d'excel 64 bits à la maison.
Se serait super sympa
Merci d'avance
Option Explicit
#If VBA7 Then
Private Declare PtrSafe Function GetVolumeInformation Lib _
"Kernel32.dll" Alias "GetVolumeInformationA" (ByVal _
lpRootPathName As String, ByVal lpVolumeNameBuffer As _
String, ByVal nVolumeNameSize As Integer, _
lpVolumeSerialNumber As LongPtr, _
lpMaximumComponentLength _
As LongPtr, lpFileSystemFlags As LongPtr, ByVal _
lpFileSystemNameBuffer As String, ByVal _
nFileSystemNameSize As LongPtr) As LongPtr
#Else
Private Declare Function GetVolumeInformation Lib _
"Kernel32.dll" Alias "GetVolumeInformationA" (ByVal _
lpRootPathName As String, ByVal lpVolumeNameBuffer As _
String, ByVal nVolumeNameSize As Integer, _
lpVolumeSerialNumber As Long, _
lpMaximumComponentLength _
As Long, lpFileSystemFlags As Long, ByVal _
lpFileSystemNameBuffer As String, ByVal _
nFileSystemNameSize As Long) As Long
#End If
Function NumSerieDD(LettreDD As String) As LongPtr
Dim SerialNum As LongPtr
Dim R As LongPtr
Dim Temp1 As String
Dim Temp2 As String
LettreDD = LettreDD & ":\"
Temp1 = String$(255, Chr$(0))
Temp2 = String$(255, Chr$(0))
R = GetVolumeInformation(LettreDD, Temp1, _
Len(Temp1), SerialNum, 0, 0, Temp2, Len(Temp2))
NumSerieDD = SerialNum
End Function
Sub Test_Info()
Range("D3") = Environ("Username")
Range("D4") = NumSerieDD("C")
End Sub