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

1 2 3 4 5
Avatar
michdenis
| J'ai essayé mais ça ne fonctionnait pas

Avec l'information que tu as fournie, je n'ai aucune idée
pourquoi cela ne fonctionne pas...je ne suis pas devin !

MichD
Avatar
Greg
Bonjour,

Désolé MichDenis, mais difficile de donner plus d'informations. J'ai mis en
place la procédure que tu proposais, à savoir copier le code dans un module
VBA du fichier pps... et les liens ne changeaient pas de lettre... Que dire
de plus ?

Greg

"michdenis" a écrit dans le message de groupe de
discussion : ihn1em$37s$
| J'ai essayé mais ça ne fonctionnait pas

Avec l'information que tu as fournie, je n'ai aucune idée
pourquoi cela ne fonctionne pas...je ne suis pas devin !

MichD

Avatar
michdenis
Voir ton autre fil pour la suite...



MichD
--------------------------------------------
Avatar
Greg
Bonsoir à tous,

Je reviens vers vous après bien des essais... je vais donc donner les
détails de ce que je n'arrive pas à faire. MichDenis et Isabelle mon proposé
un code (MichDenis m'a même invité à rentrer mon code dans le code, mais
c'est sans résultat)

Voici le début de mon code :

Sub RechercheFichiers()

racine = "C:OUTILS DU MAITREORGANISEUR" ' à modifier
Columns("C:G").Select
Selection.ClearContents
Ctr = 0
'Set fso = New Scripting.FileSystemObject
Set fso = CreateObject("Scripting.FileSystemObject")
Set dossier_racine = fso.getfolder(racine)
Lit_dossier dossier_racine
Columns("E:E").Select
Range("E2").Activate


Le problème, c'est bien qu'excel situe mon fichier sur la clé USB. Il faut,
si je comprends bien, changer le chemin "racine". Evidemment, la clé
changera de lettre selon les machines. J'ai essayé les deux codes proposés
plus haut mais décidément, je ne suis pas un as!

Voici mon fichier au cas où : http://cjoint.com/?3bCsBh4SEhA

Merci pour votre aide et votre patience.....

Greg





"michdenis" a écrit dans le message de groupe de
discussion : ihn1em$37s$
| J'ai essayé mais ça ne fonctionnait pas

Avec l'information que tu as fournie, je n'ai aucune idée
pourquoi cela ne fonctionne pas...je ne suis pas devin !

MichD

Avatar
michdenis
J'ai modifié très légèrement cette section de la procédure
pour faire afficher la lettre de la clé de l'explorateur Windows

Si tu as une clé d'installer, tu n'obtiens pas la bonne lettre ?
Si oui, qu'obtiens-tu ?

'-------------------------------------
Sub test()
Dim LecteurSource As String
LecteurSource = RemovableDisk(LecteurSource)
If LecteurSource = "" Then
MsgBox "Aucun lecteur amovible attaché."
Exit Sub
Else
If EstPret(LecteurSource) = True Then
'Ton code
Msgbox LecteurSource '<===== ligne ajoutée
Else
MsgBox "Lecteur non disponible pour l'instant."
Exit Sub
End If
End If
End Sub
'------------------------------



MichD
--------------------------------------------
"Greg" a écrit dans le message de groupe de discussion : 4d42fd6a$0$28105$

Bonsoir à tous,

Je reviens vers vous après bien des essais... je vais donc donner les
détails de ce que je n'arrive pas à faire. MichDenis et Isabelle mon proposé
un code (MichDenis m'a même invité à rentrer mon code dans le code, mais
c'est sans résultat)

Voici le début de mon code :

Sub RechercheFichiers()

racine = "C:OUTILS DU MAITREORGANISEUR" ' à modifier
Columns("C:G").Select
Selection.ClearContents
Ctr = 0
'Set fso = New Scripting.FileSystemObject
Set fso = CreateObject("Scripting.FileSystemObject")
Set dossier_racine = fso.getfolder(racine)
Lit_dossier dossier_racine
Columns("E:E").Select
Range("E2").Activate


Le problème, c'est bien qu'excel situe mon fichier sur la clé USB. Il faut,
si je comprends bien, changer le chemin "racine". Evidemment, la clé
changera de lettre selon les machines. J'ai essayé les deux codes proposés
plus haut mais décidément, je ne suis pas un as!

Voici mon fichier au cas où : http://cjoint.com/?3bCsBh4SEhA

Merci pour votre aide et votre patience.....

Greg





"michdenis" a écrit dans le message de groupe de
discussion : ihn1em$37s$
| J'ai essayé mais ça ne fonctionnait pas

Avec l'information que tu as fournie, je n'ai aucune idée
pourquoi cela ne fonctionne pas...je ne suis pas devin !

MichD

Avatar
Greg
Bonsoir MichDenis,

Quand je lance la macro (que j'ai mis dans un module), il me met "erreur de
compilation : Sub ou fonction non définie, en pointant à la ligne 2
"RemovableDisk".

Greg




"michdenis" a écrit dans le message de groupe de
discussion : ihv21e$eb$
J'ai modifié très légèrement cette section de la procédure
pour faire afficher la lettre de la clé de l'explorateur Windows

Si tu as une clé d'installer, tu n'obtiens pas la bonne lettre ?
Si oui, qu'obtiens-tu ?

'-------------------------------------
Sub test()
Dim LecteurSource As String
LecteurSource = RemovableDisk(LecteurSource)
If LecteurSource = "" Then
MsgBox "Aucun lecteur amovible attaché."
Exit Sub
Else
If EstPret(LecteurSource) = True Then
'Ton code
Msgbox LecteurSource '<===== ligne ajoutée
Else
MsgBox "Lecteur non disponible pour l'instant."
Exit Sub
End If
End If
End Sub
'------------------------------



MichD
--------------------------------------------
"Greg" a écrit dans le message de groupe de discussion :
4d42fd6a$0$28105$

Bonsoir à tous,

Je reviens vers vous après bien des essais... je vais donc donner les
détails de ce que je n'arrive pas à faire. MichDenis et Isabelle mon
proposé
un code (MichDenis m'a même invité à rentrer mon code dans le code, mais
c'est sans résultat)

Voici le début de mon code :

Sub RechercheFichiers()

racine = "C:OUTILS DU MAITREORGANISEUR" ' à modifier
Columns("C:G").Select
Selection.ClearContents
Ctr = 0
'Set fso = New Scripting.FileSystemObject
Set fso = CreateObject("Scripting.FileSystemObject")
Set dossier_racine = fso.getfolder(racine)
Lit_dossier dossier_racine
Columns("E:E").Select
Range("E2").Activate


Le problème, c'est bien qu'excel situe mon fichier sur la clé USB. Il
faut,
si je comprends bien, changer le chemin "racine". Evidemment, la clé
changera de lettre selon les machines. J'ai essayé les deux codes proposés
plus haut mais décidément, je ne suis pas un as!

Voici mon fichier au cas où : http://cjoint.com/?3bCsBh4SEhA

Merci pour votre aide et votre patience.....

Greg





"michdenis" a écrit dans le message de groupe de
discussion : ihn1em$37s$
| J'ai essayé mais ça ne fonctionnait pas

Avec l'information que tu as fournie, je n'ai aucune idée
pourquoi cela ne fonctionne pas...je ne suis pas devin !

MichD




Avatar
michdenis
Est-ce possible que tu aies omis d'insérer tout le code :

'------------------------------
Sub test()
Dim LecteurSource As String
LecteurSource = RemovableDisk(LecteurSource)
If LecteurSource = "" Then
MsgBox "Aucun lecteur amovible attaché."
Exit Sub
Else
If EstPret(LecteurSource) = True Then
'Ton code
Msgbox LecteurSource '<===== ligne ajoutée
Else
MsgBox "Lecteur non disponible pour l'instant."
Exit Sub
End If
End If
End Sub
'------------------------------
Function RemovableDisk(MonLecteur As String)
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!" & _
strComputer & "rootcimv2")
Set colDisks = objWMIService.ExecQuery _
("Select * from Win32_LogicalDisk")
For Each Objdisk In colDisks
'2 constante numérique pour disque dur "removable"
If Objdisk.DriveType = 2 Then
RemovableDisk = Objdisk.Name & ""
Exit Function
End If
Next
End Function
'--------------------------------------
Function EstPret(Lecteur As String)
Dim T As Double
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
End If
End If
Next
End Function
'--------------------------------------


MichD
--------------------------------------------
Avatar
Greg
Bonjour et merci MichDenis pour ta réponse,

Effectivement, je n'avais pas compris que je devais rebondir sur le message
précédent. Donc, là, ça semble fonctionner. La première fois que j'ai lancé
la macro, j'avais une carte SD branchée (H pour mon PC). Puis j'ai relancé
en enlevant la carte SD... là, plus de réponse d'Excel, qui semble ne pas
avoir entendu la macro...

Je ferme Excel puis je relance Excel. Là, il repère I (ma clé USB). Quand je
réinsère H, il repère à nouveau H en premier. Ce qui veut dire que mon
système fichier fonctionnera à condition qu'il n'y ait pas d'autres
périphériques de branché. En soit, ce n'est pas un drame, mais si c'était
possible de contourner le problème, ça éviterait les quiproquos...

Pour finir, comment intégrer cette lettre repérée à la macro
"recherchefichiers" de mon fichier ?

Merci encore

Greg

"michdenis" a écrit dans le message de groupe de
discussion : ii1b4t$u9a$
Est-ce possible que tu aies omis d'insérer tout le code :

'------------------------------
Sub test()
Dim LecteurSource As String
LecteurSource = RemovableDisk(LecteurSource)
If LecteurSource = "" Then
MsgBox "Aucun lecteur amovible attaché."
Exit Sub
Else
If EstPret(LecteurSource) = True Then
'Ton code
Msgbox LecteurSource '<===== ligne ajoutée
Else
MsgBox "Lecteur non disponible pour l'instant."
Exit Sub
End If
End If
End Sub
'------------------------------
Function RemovableDisk(MonLecteur As String)
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!" & _
strComputer & "rootcimv2")
Set colDisks = objWMIService.ExecQuery _
("Select * from Win32_LogicalDisk")
For Each Objdisk In colDisks
'2 constante numérique pour disque dur "removable"
If Objdisk.DriveType = 2 Then
RemovableDisk = Objdisk.Name & ""
Exit Function
End If
Next
End Function
'--------------------------------------
Function EstPret(Lecteur As String)
Dim T As Double
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
End If
End If
Next
End Function
'--------------------------------------


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

Avatar
michdenis
| Ce qui veut dire que mon système fichier
| fonctionnera à condition qu'il n'y ait pas
| d'autres périphériques de branché.

Quels sont les autres périphériques auxquels tu
fais référence ?

Qu'est-ce une carte SD ?



MichD
--------------------------------------------
"Greg" a écrit dans le message de groupe de discussion : 4d443f83$0$7538$

Bonjour et merci MichDenis pour ta réponse,

Effectivement, je n'avais pas compris que je devais rebondir sur le message
précédent. Donc, là, ça semble fonctionner. La première fois que j'ai lancé
la macro, j'avais une carte SD branchée (H pour mon PC). Puis j'ai relancé
en enlevant la carte SD... là, plus de réponse d'Excel, qui semble ne pas
avoir entendu la macro...

Je ferme Excel puis je relance Excel. Là, il repère I (ma clé USB). Quand je
réinsère H, il repère à nouveau H en premier. Ce qui veut dire que mon
système fichier fonctionnera à condition qu'il n'y ait pas d'autres
périphériques de branché. En soit, ce n'est pas un drame, mais si c'était
possible de contourner le problème, ça éviterait les quiproquos...

Pour finir, comment intégrer cette lettre repérée à la macro
"recherchefichiers" de mon fichier ?

Merci encore

Greg

"michdenis" a écrit dans le message de groupe de
discussion : ii1b4t$u9a$
Est-ce possible que tu aies omis d'insérer tout le code :

'------------------------------
Sub test()
Dim LecteurSource As String
LecteurSource = RemovableDisk(LecteurSource)
If LecteurSource = "" Then
MsgBox "Aucun lecteur amovible attaché."
Exit Sub
Else
If EstPret(LecteurSource) = True Then
'Ton code
Msgbox LecteurSource '<===== ligne ajoutée
Else
MsgBox "Lecteur non disponible pour l'instant."
Exit Sub
End If
End If
End Sub
'------------------------------
Function RemovableDisk(MonLecteur As String)
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!" & _
strComputer & "rootcimv2")
Set colDisks = objWMIService.ExecQuery _
("Select * from Win32_LogicalDisk")
For Each Objdisk In colDisks
'2 constante numérique pour disque dur "removable"
If Objdisk.DriveType = 2 Then
RemovableDisk = Objdisk.Name & ""
Exit Function
End If
Next
End Function
'--------------------------------------
Function EstPret(Lecteur As String)
Dim T As Double
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
End If
End If
Next
End Function
'--------------------------------------


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

Avatar
Modeste
bonsour®

"michdenis" a écrit
Qu'est-ce une carte SD ?



;o)))
'tain je vais apprendre quelque chose à Denis !!!
http://fr.wikipedia.org/wiki/Carte_SD
1 2 3 4 5