OVH Cloud OVH Cloud

Racine : la clé usb

69 réponses
Avatar
Greg
Bonjour à tous,

Mon problème est tout bête : je dois modifier le chemin dans un code pour
faire référence à la clé USB.

Le code d'origine : racine = "c:\OUTILS DU MAITRE\ORGANISEUR"

Il me semble que la clé USB change de lettre en fonction de l'ordinateur qui
l'accueille, et d'autres paramètres qui m'échappent. Que dois-je écrire pour
que la racine soit toujours la clé USB que j'utilise ?

Merci à vous

Greg

10 réponses

Avatar
Greg
Rebonjour Denis,

Je suis d'accord avec tout ce que tu écris. Le problème, c'est que je ne
sais toujours pas comment appeler cette fameuse clé (qu'il a trouvé!) dans
ma ligne :
racine = "DOSSIERSORGANISEUREPS" ' à modifier

SI je l'écris tel quel, il ne trouve pas le chemin

Si j'écris racine = "I:DOSSIERSORGANISEUREPS" ' à modifier

Si je l'écris ainsi, il reste sur I: et quand je change de lettre, c'est
cuit.

Donc, même si je suis conscient d'être tout près du but, mon problème n'est
pas réglé....


Greg

"michdenis" a écrit dans le message de groupe de
discussion : ii3h3q$jj6$
Bonjour,

Mon dernier message sur le sujet, toute bonne chose doit avoir une fin !

Imagine que tu as installé plus d'une clé comme périphériques en même
temps...Comment dire à Excel qu'il a trouvé la bonne clé ? Pour les
distinguer,
il s'agit de trouver une caractéristique qui est commune qu'à une clé à la
fois.
Le plus simple est de demander à Excel de chercher la clé qui contient le
répertoire
que l'on cherche...Cela ne résout pas le problème si plus d'une clé
possède le
même répertoire et est connecté en même temps ! Il n'existe pas beaucoup
d'autres
moyens de les distinguer!

Le chemin indiqué dans la procédure peut contenir des espaces et la
procédure
n'est pas sensible quant à la casse de la valeur indiquée dans la variable
le "Chemin".
(Windows 7)

J'ai fait le test suivant :
A ) J'ai créé un répertoire sur ma clé :
Chemin = "EXCEL 10BOZO LES CULOTTES"

B ) j'ai roulé les procédures suivantes et le résultat est éloquent.

C ) Si tu ne désires pas voir les boîtes de message s'afficher, tu
supprimes les lignes de code... elles n'étaient là que pour la
démonstration.

'------------------------------
Sub test()
Dim LecteurSource As String, Chemin As String
Dim PathAndFile As String

'Je suppose que tu connais au moins un répertoire
'à la source de ton lecteur amovible, il s'agit que
'tu en indiques un afin de tester si le lecteur contient
'vraiment ce répertoire. Ce pourrait être une combinaison
'de répertoire comme ExcelPierreBozo si tu le désires.

'*********Variable à définir************
Chemin = "EXCEL 10BOZO LES CULOTTES"
'************************************

PathAndFile = RemovableDisk(LecteurSource, Chemin)
If LecteurSource = "" Then
MsgBox "Aucun lecteur amovible attaché."
Exit Sub
Else
If EstPret(LecteurSource) = True Then
MsgBox PathAndFile
'Ton code
Else
MsgBox "Lecteur non disponible pour l'instant."
Exit Sub
End If
End If
End Sub
'------------------------------
Function RemovableDisk(MonLecteur As String, Chemin As String)
Dim strComputer As String, A As String
Dim objWMIService As Object, colDisks As Object
Dim Objdisk As Object
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!" & _
strComputer & "rootcimv2")
Set colDisks = objWMIService.ExecQuery _
("Select * from Win32_LogicalDisk")
For Each Objdisk In colDisks
A = Objdisk.Name
'2 constante numérique pour disque dur "removable"
If Objdisk.DriveType = 2 Then
If Dir(Objdisk.Name & "" & Chemin, vbDirectory) <> "" Then
RemovableDisk = Objdisk.Name & "" & Chemin
MonLecteur = Objdisk.Name
Exit Function
End If
End If
Next
End Function
'--------------------------------------
Function EstPret(Lecteur As String)
Dim T As Double, objFSO As Object, colDrives As Object
Dim objdrive As Object
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set colDrives = objFSO.Drives
For Each objdrive In colDrives
If Lecteur = objdrive Then
If objdrive.IsReady = True Then
EstPret = objdrive.IsReady
Exit Function
End If
End If
Next
End Function
'--------------------------------------

MichD
--------------------------------------------

Avatar
michdenis
Dans la procédure proposée, il y a cette ligne de code
PathAndFile = RemovableDisk(LecteurSource, Chemin)

PathAndFile = Lettre du lecteur + chemin que tu as indiqué dans la variable chemin

Dans la procédure, au lieu d'utiliser le MsgBox PathAndFile
tu fais comme ceci : Racine = PathAndFile

Si tu veux seulement obtenir la lettre du lecteur amovible + un autre chemin

LecteurSource est déjà dans l'appel de la fonction RemovableDisk(LecteurSource, Chemin)
racine = LecteurSource & "" & "DOSSIERSORGANISEUREPS"



MichD
--------------------------------------------
Avatar
Greg
Gééééééénialllllllll!!!!!!!!!!!

Merci pour tout MichDenis!

J'ai fait l'essai sur 3 machines différentes (WINDOWS 7, XP). Je fais les
essais demain sur les bécanes de l'école. Sous Vista, et Excel 97.

Encore un grand merci. J'arrive au bout d'un grand projet engagé ici en 2007
avec vous. Ce ne sera jamais vraiment fini mais aujourd'hui, c'est
exploitable ENFIN. Et sans vous, ce ne serait rien!

Greg

"michdenis" a écrit dans le message de groupe de
discussion : ii3k6e$qve$

Dans la procédure proposée, il y a cette ligne de code
PathAndFile = RemovableDisk(LecteurSource, Chemin)

PathAndFile = Lettre du lecteur + chemin que tu as indiqué dans la
variable chemin

Dans la procédure, au lieu d'utiliser le MsgBox PathAndFile
tu fais comme ceci : Racine = PathAndFile

Si tu veux seulement obtenir la lettre du lecteur amovible + un autre
chemin

LecteurSource est déjà dans l'appel de la fonction
RemovableDisk(LecteurSource, Chemin)
racine = LecteurSource & "" & "DOSSIERSORGANISEUREPS"



MichD
--------------------------------------------

Avatar
Mgr T. Plubanni
quatre ans de boulot d'un michdenis devrait bien lui valoir une bonne bouteille de perignchamp, sachant que pour ce qui me concerne,
il a déjà gagné la clé usb (Une, Sainte et Bénite) de son paradis....
Mgr T. P.

"Greg" a écrit dans le message de news: 4d455c64$0$24492$
Gééééééénialllllllll!!!!!!!!!!!

Merci pour tout MichDenis!

J'ai fait l'essai sur 3 machines différentes (WINDOWS 7, XP). Je fais les essais demain sur les bécanes de l'école. Sous Vista, et
Excel 97.

Encore un grand merci. J'arrive au bout d'un grand projet engagé ici en 2007 avec vous. Ce ne sera jamais vraiment fini mais
aujourd'hui, c'est exploitable ENFIN. Et sans vous, ce ne serait rien!

Greg

"michdenis" a écrit dans le message de groupe de discussion : ii3k6e$qve$

Dans la procédure proposée, il y a cette ligne de code
PathAndFile = RemovableDisk(LecteurSource, Chemin)

PathAndFile = Lettre du lecteur + chemin que tu as indiqué dans la variable chemin

Dans la procédure, au lieu d'utiliser le MsgBox PathAndFile
tu fais comme ceci : Racine = PathAndFile

Si tu veux seulement obtenir la lettre du lecteur amovible + un autre chemin

LecteurSource est déjà dans l'appel de la fonction RemovableDisk(LecteurSource, Chemin)
racine = LecteurSource & "" & "DOSSIERSORGANISEUREPS"



MichD
--------------------------------------------

Avatar
Jacquouille
Monseigneur fait une ré-apparition ?
Tant que vous êtes en voyage, ne pourriez-vous venir bénir nos peu saints
politiciens?

Jacquouille

" Le vin est au repas ce que le parfum est à la femme."
"Mgr T. Plubanni" a écrit dans le message de groupe de discussion :
4d46c2cc$0$5385$

quatre ans de boulot d'un michdenis devrait bien lui valoir une bonne
bouteille de perignchamp, sachant que pour ce qui me concerne,
il a déjà gagné la clé usb (Une, Sainte et Bénite) de son paradis....
Mgr T. P.

"Greg" a écrit dans le message de news:
4d455c64$0$24492$
Gééééééénialllllllll!!!!!!!!!!!

Merci pour tout MichDenis!

J'ai fait l'essai sur 3 machines différentes (WINDOWS 7, XP). Je fais les
essais demain sur les bécanes de l'école. Sous Vista, et Excel 97.

Encore un grand merci. J'arrive au bout d'un grand projet engagé ici en
2007 avec vous. Ce ne sera jamais vraiment fini mais aujourd'hui, c'est
exploitable ENFIN. Et sans vous, ce ne serait rien!

Greg

"michdenis" a écrit dans le message de groupe de
discussion : ii3k6e$qve$

Dans la procédure proposée, il y a cette ligne de code
PathAndFile = RemovableDisk(LecteurSource, Chemin)

PathAndFile = Lettre du lecteur + chemin que tu as indiqué dans la
variable chemin

Dans la procédure, au lieu d'utiliser le MsgBox PathAndFile
tu fais comme ceci : Racine = PathAndFile

Si tu veux seulement obtenir la lettre du lecteur amovible + un autre
chemin

LecteurSource est déjà dans l'appel de la fonction
RemovableDisk(LecteurSource, Chemin)
racine = LecteurSource & "" & "DOSSIERSORGANISEUREPS"



MichD
--------------------------------------------

Avatar
michdenis
| une bonne bouteille de perignchamp

Les Mgr du coin ne lésine pas sur le coût, je suppose que cela
aide à la communication avec l'au-delà... ;-)


MichD
--------------------------------------------
Avatar
Greg
Bonsoir MichD, Jacquouille et autres Mgr,

Après plusieurs essais (une dizaine), quelques machines restent
récalcitrantes... Le système d'exploitation ou la version d'Excel ne semble
pas en cause. Toutes renvoient la même erreur :

Erreur d'éxécution 52 : Nom ou numéro de fichier incorrect

Le débogage renvoie sur la ligne

If Dir(Objdisk.Name & "" & Chemin, vbDirectory) <> "" Then

Dans

Function RemovableDisk (Monlecteur As String, Chemin As String)


Y a t-il un moyen de contourner le problème?

Greg

"michdenis" a écrit dans le message de groupe de
discussion : ii78ep$i3j$
| une bonne bouteille de perignchamp

Les Mgr du coin ne lésine pas sur le coût, je suppose que cela
aide à la communication avec l'au-delà... ;-)


MichD
--------------------------------------------

Avatar
Modeste
Bonsour®

"michdenis" a écrit
| une bonne bouteille de perignchamp

Les Mgr du coin ne lésine pas sur le coût, je suppose que cela
aide à la communication avec l'au-delà... ;-)



ayant pratiqué notre Mgr... ;o)))
je confirme : il a la phobie de l'eau d'icitte !!!
Avatar
michdenis
Bonjour,

Différentes avenues sont proposées sur ce fil. (en anglais)
http://www.techsupportforum.com/forums/f149/please-insert-disk-into-removable-disk-f-336205.html

Un peu de lecture, regarde comment cela correspond à ta situation.


MichD
--------------------------------------------
Avatar
michdenis
Plus de lecture ici :

http://www.uwe-sieber.de/usbdlm_e.html

+ un petit programme pour modifier la lettre du lecteur...


MichD
--------------------------------------------