En poursuivant votre navigation sur ce site, vous acceptez l'utilisation de cookies pour vous proposer des contenus et services adaptés. Mentions légales.

Recherche

Recherche

Les mémos

Je débute...

Visites

 1218268 visiteurs

 5 visiteurs en ligne

Nous contacter

Contact

Détecter une clé USB

Détecter la présence d'une clé USB à l'aide du FileSystemObject

Comme on le sait, lorsque l'on branche une clé USB dans un port d'un PC, on ne sait d'avance quelle lettre sera attribuée à cette clé. Car cela dépend du port, voir du PC sur lequel on la branche.

Une manière efficace pour gérer cela est de nommer les clés USB. Pour cela, on la branche dans n'importe quel port et lorsque Windows l'aura détectée et éventuellement déclarée au système, un clic droit sur son icône permet d'afficher ses propriétés. Là, on trouvera un champ spécialement prévu à recevoir un nom de volume. Préférez un nom "parlant" sans espace (comme "Gestion_Cave") pour la facilité.

On détectera donc en fait un nom de volume duquel on récupèrera la lettre attribuée par Windows.

Le code ci-dessous, que l'on placera dans un module, permet de faire cela :

Function GetUSB(sName As String) As String
    '/
    '/ Nécessite la référence "Microsoft Scripting Runtime"
    '/
    Dim FSO As FileSystemObject
    Dim objDrive As Drive
    Set FSO = CreateObject("Scripting.FileSystemObject")
    GetUSB = ""
    'on boucle
    For Each objDrive In FSO.Drives
        If objDrive.DriveType = 1 Then
            If objDrive.IsReady Then
                If objDrive.VolumeName = sName Then
                    GetUSB = objDrive.DriveLetter & ":/"
                End If
            End If
        End If
    Next
End Function

Dans le code Access, l'utilisation sera alors on ne peut plus simple...

Dim V as string
V = GetUSB("Gestion_Cave")

V contiendra ainsi la lettre du volume attribué à ladite clé USB, sinon rien.


Catégorie : Les mémos - Modules
Page lue 2956 fois

Vous êtes ici :   Accueil » Détecter une clé USB