Les mémos

Fermer Tables

Fermer Requêtes

Fermer Formulaires

Fermer Etats

Fermer Modules

Fermer Base

Fermer Automation

Fermer Administration

Fermer Registre

Fermer String

Fermer Email CDO

Fermer Outlook

Fermer Net

Fermer Dates - Heures

Fermer Fichiers

Fermer Références

Fermer Vrac

Je débute...

Fermer La normalisation

Fermer VBA

Attention
Aucun support
par émail !

Utilisez le forum pour les questions/réponses concernant MsAccess et les codes que vous trouverez sur ce site.
Visites

   visiteurs

   visiteurs en ligne

Modules - 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.


Date de création : 01/05/2015 : 17:53
Dernière modification : 01/05/2015 : 17:53
Catégorie : Modules
Page lue 729 fois


Imprimer l'article Imprimer l'article

Recherche



Lettre d'information
Pour avoir des nouvelles de ce site, inscrivez-vous à notre Newsletter.
Captcha
Recopier le code :
Au sujet de l'auteur
L'auteur qui fréquente (fréquentait) le forum microsoft.public.fr.access a eu le plaisir d'être nommé MVP Office-Access de janvier 2003 à décembre 2011.

Qui sont les MVP ?

Divers ;-)
Nous contacter

Haut