Usb sur vba

Résolu
Bonjour,
j'ai u programmes de excel mes pour Enregistrer dans mon usb mes l’en blasement ça change toujours dans
E:\ APRIS F:\

COMMENT FAIRE POUR RECONNER USB DANE QUEL EMPLACEMENT

MON CODE
Private Sub CommandButton2_Click()
On Error Resume Next
Dim G As Long
clo = FreeFile

Open "E:\RAHMANI.TEXT" For Append Lock Write As #clo
Print #clo, Cells(1, 6), Cells(2, 4), CommandButton1.Caption
For G = 5 To 200
If Cells(G, 2).lien > 4 Then
Print #clo, Cells(G, 1), Cells(G, 2), Cells(G, 3), Cells(G, 4), Cells(G, 5), Cells(G, 6), Cells(G, 7), Cells(G, 8)

End If
Next G
Close #clo
End Sub
Configuration: Windows XP Internet Explorer 6.0

5 réponses

  1. Contributeur
    re,

    Alors ton code donnerait ceci :
    Private Sub CommandButton2_Click()
    On Error Resume Next
    Dim G As Long
    clo = FreeFile
    
    strComputer = "."
    Set objWMIService = GetObject("winmgmts:" _
        & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
    
    Set colDisks = objWMIService.ExecQuery _
        ("Select * from Win32_LogicalDisk")
    
    For Each objDisk in colDisks
    if objDisk.VolumeName = "lenomdetaclé" then 
    fichier = objDisk.caption & "\RAHMANI.TEXT"
    end if
    next
    
    Open fichier For Append Lock Write As #clo
    Print #clo, Cells(1, 6), Cells(2, 4), CommandButton1.Caption
    For G = 5 To 200
    If Cells(G, 2).lien > 4 Then
    Print #clo, Cells(G, 1), Cells(G, 2), Cells(G, 3), Cells(G, 4), Cells(G, 5), Cells(G, 6), Cells(G, 7), Cells(G, 8)
    
    End If
    Next G
    Close #clo
    End Sub
    

    Remplacer "lenomdetaclé" par "USB DANE" ou le nom qui apparait ds l'explorateur windows...
    1
    1. Contributeur
      Bonjour

      Tu peux utiliser WMI pour ça :
      strComputer = "."
      Set objWMIService = GetObject("winmgmts:" _
          & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
      
      Set colDisks = objWMIService.ExecQuery _
          ("Select * from Win32_LogicalDisk")
      
      For Each objDisk in colDisks
      if objDisk.VolumeName = lenomdetaclé then 
      fichier = objDisk.caption & "\RAHMANI.TEXT"
      ton code à mettre ici
      end if
      next


      Voilà, là je l'ai fait en basant sur le nom de ta clé usb mais tu pourrais aussi utiliser le numéro de série de la clé etc....
      https://docs.microsoft.com/en-us/windows/win32/cimwin32prov/win32-logicaldisk?redirectedfrom=MSDN
      0
      1. explec moi svp au je mes le code
        0
        1. Contributeur
          de rien ;), oublie pas de mettre en "résolu" si c'est le cas...
          bonne journée
          0