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
    de rien ;), oublie pas de mettre en "résolu" si c'est le cas...
    bonne journée
    0
    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. explec moi svp au je mes le code
        0
        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