Code pour accès vers clé USB

mfb

XLDnaute Occasionnel
Bonsoir à tous.
J' ai trituré un code pour accéder à une clé USB et ça plante.
Le chemin d' accès n' est apparemment pas correct.
Alors.....
Merci de me remettre dans le droit chemin.
Daniel
 

Pièces jointes

  • Accès_Clé_USB.xls
    28.5 KB · Affichages: 88
  • Accès_Clé_USB.xls
    28.5 KB · Affichages: 79
  • Accès_Clé_USB.xls
    28.5 KB · Affichages: 78

JCGL

XLDnaute Barbatruc
Re : Code pour accès vers clé USB

Bonjour,

Il me semble qu'une clé USB ou Disque externe est un périphérique...

Donc pourquoi aller le chercher sous :

E:\Documents and settings\jules\Poste de travail...

Je mettrais tout simplement :

Workbooks.Open Filename:= Nom_clé & "\Classeur transfert.xls"

Pas testé

A+
 

jeanpierre

Nous a quitté
Repose en paix
Re : Code pour accès vers clé USB

Bonsoir mfb, re le forum,

Sous des versions anciennes, enfin pas trop, la clé peut-être identifié sur le périphérique suivant, par exemple D ou E.

Sous les nouvelles, généralement, elle est identifiée sur un lecteur bien précis...

Donc, d'un poste à l'autre ce n'est guère possible.. surtout, si l'un à trois entrées et l'autre quatre. Pour une même nombre d'entrées, il suffit que l'une soit attribuée à un truc que l'autre n'a pas, ce ne sera donc pas le même lecteur....

Il est, sans doute, possible de repérer la chose.... mais pour le moment... je ne vois pas trop.

Bonne soirée.

Jean-Pierre

Salut Jean-Claude, serais-je un peu en retard, ou sérieusement à la bourre...?
 
Dernière édition:
T

THE CAT 2007

Guest
Re : Code pour accès vers clé USB

Bj à tous,

voici de quoi sélectionner le répertoire

à associer avec le code du bouton VALIDER

Sub OuvrirMasqueSaisiCheminRepertoire()

fileToOpen = Application.GetOpenFilename("Tous les fichiers (*.*),*.*", , , True)
If fileToOpen = False Then end
' nomFichiers = Dir("")
repertoireFichiers = CurDir 'récupére le chemin du répertoire
End Sub

avec CurDiR on est au bon endroit
 
C

Compte Supprimé 979

Guest
Re : Code pour accès vers clé USB

Salut tout le monde,

Un petit code sympa récupéré chez l'ami SIGONNEAU :D
Code:
Sub LecteursDispos()
'Chip Pearson, mpep, traduction/adaptation fs
Dim FSO As Object
Dim Drv As Object
Dim Msg$
  Set FSO = CreateObject("Scripting.FileSystemObject")
  Msg = "Votre système a " & FSO.Drives.Count & " lecteurs :" & vbLf & vbLf
  For Each Drv In FSO.Drives
    With Drv
      Select Case .DriveType
        Case 0 ' unknown
          Msg = Msg & "Lecteur: " & .DriveLetter & " est de type inconnu." & vbLf
        Case 1 ' removable, e.g., zip
          Msg = Msg & "Lecteur: " & .DriveLetter & " est un disque amovible." & vbLf
        Case 2 ' fixed, hard drive
          Msg = Msg & "Lecteur: " & .DriveLetter & " est un disque dur." & vbLf
        Case 3 ' remote
          Msg = Msg & "Lecteur: " & .DriveLetter & " est un disque réseau." & vbLf
        Case 4 ' CDROM
          Msg = Msg & "Lecteur: " & .DriveLetter & " est un CDROM." & vbLf
        Case 5 ' ram disk
          Msg = Msg & "Lecteur: " & .DriveLetter & " est un disque virtuel." & vbLf
      End Select
    End With
  Next Drv
  MsgBox Msg, , "Lecteurs du système"
End Sub

Voilà, voilà qui peut servir ... ;)

A+
 

JCGL

XLDnaute Barbatruc
Re : Code pour accès vers clé USB

Bonsoir à tous,
Salut JP :) ,

Un essai très simple

Private Sub CommandButton1_Click()

Dim Nom_Clé
Nom_Clé = ComboBox1.Value
On Error GoTo Message
Workbooks.Open Filename:=Nom_Clé & ":\" & [C12].Value

Message: MsgBox "Le fichier ou la clé n'existe pas"
Unload UserForm1

End Sub

A+
 
Dernière édition:

MichelXld

XLDnaute Barbatruc
Re : Code pour accès vers clé USB

bonjour


Une procédure pour lister les disques amovibles:

Code:
Sub ListeLecteursAmovible()
Dim FSO As Object
Dim Drv As Object
 
Set FSO = CreateObject("Scripting.FileSystemObject")
 
For Each Drv In FSO.Drives
    If Drv.DriveType = 1 Then _
    MsgBox "le support " & Drv.driveletter _
        & " (" & Drv.VolumeName & ") est pret : " _
        & Drv.IsReady & vbLf _
        & "espace libre : " _
        & Format(Drv.FreeSpace, "#,##0") & " octets "
Next
End Sub


Ensuite pour etre sur de récupérer la bonne lettre, une astuce consiste à renommer la clé.


Bon week end
MichelXld
 

jeanpierre

Nous a quitté
Repose en paix
Re : Code pour accès vers clé USB

Re à tous, et Bonsoir Michel,

Comme quoi une question, anodine, apporte des réponses très intéressantes.

Je vais donc tester ta solution et celle de JC....

Je vous souhaite, toutes et tous, bonne soirée et week-end.

Jean-Pierre
 
C

Compte Supprimé 979

Guest
Re : Code pour accès vers clé USB

Salut mfb,

Etrange ton code !?

Code:
Private Sub CommandButton1_Click()
Dim Nom_clé
Nom_clé = ComboBox1.Value
' Déplace le pointeur de dossier vers le chemin spécifié
ChDir "E:\Documents and settings\jules\Poste de travail"
' Si le fichier existe, retourne le nom du fichier, sinon vide
If Dir("E:\Documents and settings\jules\Poste de travail\" & Nom_clé & "\Classeur transfert.xls") = "" Then
MsgBox "Clé Inexistante"
Else
Workbooks.Open Filename:="E:\Documents and settings\jules\Poste de travail\" & Nom_clé & "\Classeur transfert.xls"
End If
Unload UserForm1
End Sub
En aucun cas tu vas sur ta clé USB !?
Mais bon, j'ai corrigé ce que je conaissais ;)
 

mfb

XLDnaute Occasionnel
Re : Code pour accès vers clé USB

Merci à tous pour toutes les indications fournies et comme l' abondance de bien ne nuit pas il ne me reste plus qu' à tester.
Si je coince je lancerai un nouvel appel.
Bonne soirée et,
A+
Daniel
 

mfb

XLDnaute Occasionnel
Re : Code pour accès vers clé USB

Amis du forum bonsoir.

J' ai galéré pour tester toutes les solutions.
Je n' ai réussi qu' une approche à mon PB avec la solution proposée par The Cat.
Seul bémol cela permet de consulter le répertoire des fichiers comme d' ordinaire et toujours en commençant par ceux situés en C.
Or je voudrai pouvoir en ouvrir un en particulier (Classeur transfert) situé en E dans la clé USB et ce d' un seul clic sur bouton valider.
Alors Amis forumiens qui que vous soyez et pourquoi pas THE CAT si vous pouviez me filer un petit tuyau.
Bonne soirée et A+ (j'espère)
Daniel
 

chris

XLDnaute Barbatruc
Re : Code pour accès vers clé USB

Bonjour
Ton besoin n'est pas très clair.
Que signifie pour toi nom de la clé ?
La lettre désignant l'unité ou bien le label de la clé ?

Comme cela a été dit on ne sait pas d'une machine à l'autre, voire même sur une même machine, quelle sera la lettre attribuée par Windows à une clé car cela dépent des unités fixes et amovibles déjà présentes.

Le code de MichelXLD permet de tester chaque unité amovible. Le PB est qu'il peut y avoir d'autres unités amovible (lecteur de disquettes ou de carte mémoire notamment) : il faut donc ajouter une ligne on error.

Mais le seul moyen de reconnaître la clé à coup sûr est de connaître son label.

Si Nom_clé désigne l'unité :

Sub test()
Nom_clé = ComboBox1.Value
cleOK = 0
On Error GoTo fin
ChDir Nom_clé & ":\"

If Dir("Classeur transfert.xls") = "" Then
cleOK = 1
MsgBox "Classeur non trouvé"
Else
Workbooks.Open Filename:="Classeur transfert.xls"
Unload UserForm1
cleOK = 1
End If
fin:
If cleOK = 0 Then MsgBox "Clé Inexistante"
End Sub
 

chris

XLDnaute Barbatruc
Re : Code pour accès vers clé USB

Bonjour

D'après le code de Michel : pour établir la liste des unités amovibles non vides (à appeler dans le Workbook_open)

Sub ListeLecteursAmovible()
Dim FSO As Object
Dim Drv As Object

Set FSO = CreateObject("Scripting.FileSystemObject")
x = 1
For Each Drv In FSO.Drives
On Error GoTo suite
If Drv.DriveType = 1 Then
y = Drv.volumename
If y <> 0 Then
Sheets("Feuil1").Range("A" & x).Value = Drv.driveletter
x = x + 1
End If
End If

suite:
If Err = 71 Then y = 0: Resume Next
Next
End Sub
 

mfb

XLDnaute Occasionnel
Re : Code pour accès vers clé USB

Bonjour Chris ... et autres bien sur.
Pour moi le "Nom_Clé" n' est autre que le nom de la clé USB.
Le code de Michel détecte bien la clé mais la situe dans 2 partitions la B et la E. Un test sans clé n' affichant rien.
Les essais avec chacune des 2 partitions n' ont rien donné.
Quant au label de la Clé qu' es-ce ?
Si c' est le nom donné à la clé ce sera celui rentré via l' Usf.
J' ai testé ton code le Msg "Clé inexistante" s' affiche.
Où ai-je encore m...... ?
Bon dimanche
Daniel
 

chris

XLDnaute Barbatruc
Re : Code pour accès vers clé USB

Bonjour
l'unité est une lettre A ou B ou... Z
Le label est une nom que l'on donne au disque ou à la clé, par exemple "Archives"
Ci-joint un classeur ou cela fonctionne
 

Pièces jointes

  • Accès_Clé_USB.xls
    43.5 KB · Affichages: 85
  • Accès_Clé_USB.xls
    43.5 KB · Affichages: 89
  • Accès_Clé_USB.xls
    43.5 KB · Affichages: 82

Discussions similaires

Réponses
9
Affichages
238