bonsour®
"michdenis" a écritQu'est-ce une carte SD ?
;o)))
'tain je vais apprendre quelque chose à Denis !!!
http://fr.wikipedia.org/wiki/Carte_SD
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
bonsour®
"michdenis" a écritQu'est-ce une carte SD ?
;o)))
'tain je vais apprendre quelque chose à Denis !!!
http://fr.wikipedia.org/wiki/Carte_SD
bonsour®
"michdenis" a écritQu'est-ce une carte SD ?
;o)))
'tain je vais apprendre quelque chose à Denis !!!
http://fr.wikipedia.org/wiki/Carte_SD
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
bonsour®
"michdenis" a écritQu'est-ce une carte SD ?
;o)))
'tain je vais apprendre quelque chose à Denis !!!
http://fr.wikipedia.org/wiki/Carte_SD
bonsour®
"michdenis" a écritQu'est-ce une carte SD ?
;o)))
'tain je vais apprendre quelque chose à Denis !!!
http://fr.wikipedia.org/wiki/Carte_SD
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
bonsour®
"michdenis" a écritQu'est-ce une carte SD ?
;o)))
'tain je vais apprendre quelque chose à Denis !!!
http://fr.wikipedia.org/wiki/Carte_SD
J'apprends beaucoup plus que tu penses à vous lire !
Ne soyez pas modeste...
;-)
MichD
--------------------------------------------
J'apprends beaucoup plus que tu penses à vous lire !
Ne soyez pas modeste...
;-)
MichD
--------------------------------------------
J'apprends beaucoup plus que tu penses à vous lire !
Ne soyez pas modeste...
;-)
MichD
--------------------------------------------
Désolé, erreur d'aiguillage.
MichD
--------------------------------------------
Désolé, erreur d'aiguillage.
MichD
--------------------------------------------
Désolé, erreur d'aiguillage.
MichD
--------------------------------------------
Bonjour Denis,
Après 2 heures d'essais en tous genres, je reviens vers toi. L'idée de
repérer le lecteur grâce à un dossier fonctionne impec. Petite remarque au
passage : les espaces ne fonctionnent pas. Il faut donc un dossier sans
esapce dans le nom. Ensuite, la petite fenêtre confirme (Sera t-il
possible de l'éviter ensuite ?) même si la fameuse carte SD est insérée.
SUPER ! (m'écriais-je très tard en réveillant ma femme...)
Ensuite, dans mes nombreux essais (à peu près à l'heure où tu répondais à
un autre post sur celui-ci ;-))) ) , je pense que j'avais trouvé la
solution... Et plus moyen d'y revenir ce matin!
Voilà donc le code d'origine (travail de Daniel) suivi du tiens avec le
code incorporé. Le problème se situe à l'endroit où je rentre le chemin de
"racine". L'idée de départ étant que le premier code (qui fonctionne bien
quand on lui indique la lettre) puisse s'adapter en trouvant la clé USB.
J'ai tenté un tas de syntaxes différentes et même si j'ai dû tard dans la
nuit y parvenir, je n'y arrive plus... Voici donc les deux codes à la
suite, j'y ai fait quelques commentaires pour comprendre :
Sub RechercheFichiers()
' fonctionne impec!... mais le chemin doit être "fixe"... si la lettre
du lecteur change, c'est cuit.
racine = "I:DOSSIERSORGANISEUR" ' à modifier
Cells.Clear
Ctr = 0
'Set fso = New Scripting.FileSystemObject
Set fso = CreateObject("Scripting.FileSystemObject")
Set dossier_racine = fso.getfolder(racine)
Lit_dossier dossier_racine
End Sub
'-----------------------------------------
Sub test2()
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 = "DOSSIERS"
'************************************
PathAndFile = RemovableDisk(LecteurSource, Chemin)
If LecteurSource = "" Then
MsgBox "Aucun lecteur amovible attaché."
Exit Sub
Else
If EstPret(LecteurSource) = True Then
MsgBox PathAndFile
'************* début du code (Daniel) **************
racine = "I:DOSSIERSORGANISEUR" ' C'est ici qu'il faut trouver la
solution je pense!!!
Cells.Clear
Ctr = 0
'Set fso = New Scripting.FileSystemObject
Set fso = CreateObject("Scripting.FileSystemObject")
Set dossier_racine = fso.getfolder(racine) ' C'est ici qu'Excel propose
un déboggage
Lit_dossier dossier_racine
'************* fin du code (Daniel) **************
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
'--------------------------------------
Sub Lit_dossier(ByRef dossier)
Dim Decal As Integer
Decal = UBound(Split(dossier.Path, "")) - UBound(Split(racine, "")) +
1
Decal = 1 + (Decal - 1) * 2
Ctr = Ctr + 1
Cells(Ctr, Decal).Interior.ColorIndex = 6
Cells(Ctr, Decal) = dossier.Path
ActiveSheet.Hyperlinks.Add Cells(Ctr, Decal), dossier.Path,
TextToDisplay:=dossier.Name
For Each f In dossier.Files
Ctr = Ctr + 1
Cells(Ctr, Decal + 1) = f.Name
ActiveSheet.Hyperlinks.Add Cells(Ctr, Decal + 1), _
Address:=dossier.Path & "" & f.Name, _
TextToDisplay:=Left(f.Name, Len(f.Name) - 4)
Next
For Each d In dossier.SubFolders
Lit_dossier d
Next
End Sub
Sub test()
Dim i As Long, Discipline2 As String, Adresse As String, Texte As
String
Dim Ligne As Long, Discipline1 As String
Set sh = Sheets("SEMAINE 1")
With Sheets("Mes progressions")
For i = 2 To .Cells(Rows.Count, 5).Row
If .Cells(i, 3) <> "" Then
Discipline1 = .Cells(i, 3)
Discipline2 = ""
End If
If .Cells(i, 5) <> "" Then Discipline2 = .Cells(i, 5)
If LCase(.Cells(i, 7)) = "x" Then
If .Cells(i, 6) <> "" Then
Adresse = .Cells(i, 6).Hyperlinks(1).Address
Texte = .Cells(i, 6).Hyperlinks(1).TextToDisplay
ElseIf .Cells(i, 4) <> "" Then
Adresse = .Cells(i, 4).Hyperlinks(1).Address
Texte = .Cells(i, 4).Hyperlinks(1).TextToDisplay
Else
MsgBox "Erreur"
Exit Sub
End If
If Discipline2 = "" Then
Ligne = Application.Match(Discipline1, sh.[A:A], 0)
Else
Ligne = Application.Match(Discipline2, sh.[B:B], 0)
End If
sh.Cells(Ligne, 3).Hyperlinks.Delete
sh.Cells(Ligne, 3).ClearContents
sh.Hyperlinks.Add sh.Cells(Ligne, 3), Adresse,
TextToDisplay:=Texte
sh.Cells(Ligne, 3).Font.Color = vbBlack
sh.Cells(Ligne, 3).Font.Underline = xlUnderlineStyleNone
End If
Next i
End With
End Sub
Encore un grand merci!
Greg
"michdenis" a écrit dans le message de groupe de
discussion : ii2c24$cgv$Désolé, erreur d'aiguillage.
MichD
--------------------------------------------
Bonjour Denis,
Après 2 heures d'essais en tous genres, je reviens vers toi. L'idée de
repérer le lecteur grâce à un dossier fonctionne impec. Petite remarque au
passage : les espaces ne fonctionnent pas. Il faut donc un dossier sans
esapce dans le nom. Ensuite, la petite fenêtre confirme (Sera t-il
possible de l'éviter ensuite ?) même si la fameuse carte SD est insérée.
SUPER ! (m'écriais-je très tard en réveillant ma femme...)
Ensuite, dans mes nombreux essais (à peu près à l'heure où tu répondais à
un autre post sur celui-ci ;-))) ) , je pense que j'avais trouvé la
solution... Et plus moyen d'y revenir ce matin!
Voilà donc le code d'origine (travail de Daniel) suivi du tiens avec le
code incorporé. Le problème se situe à l'endroit où je rentre le chemin de
"racine". L'idée de départ étant que le premier code (qui fonctionne bien
quand on lui indique la lettre) puisse s'adapter en trouvant la clé USB.
J'ai tenté un tas de syntaxes différentes et même si j'ai dû tard dans la
nuit y parvenir, je n'y arrive plus... Voici donc les deux codes à la
suite, j'y ai fait quelques commentaires pour comprendre :
Sub RechercheFichiers()
' fonctionne impec!... mais le chemin doit être "fixe"... si la lettre
du lecteur change, c'est cuit.
racine = "I:DOSSIERSORGANISEUR" ' à modifier
Cells.Clear
Ctr = 0
'Set fso = New Scripting.FileSystemObject
Set fso = CreateObject("Scripting.FileSystemObject")
Set dossier_racine = fso.getfolder(racine)
Lit_dossier dossier_racine
End Sub
'-----------------------------------------
Sub test2()
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 = "DOSSIERS"
'************************************
PathAndFile = RemovableDisk(LecteurSource, Chemin)
If LecteurSource = "" Then
MsgBox "Aucun lecteur amovible attaché."
Exit Sub
Else
If EstPret(LecteurSource) = True Then
MsgBox PathAndFile
'************* début du code (Daniel) **************
racine = "I:DOSSIERSORGANISEUR" ' C'est ici qu'il faut trouver la
solution je pense!!!
Cells.Clear
Ctr = 0
'Set fso = New Scripting.FileSystemObject
Set fso = CreateObject("Scripting.FileSystemObject")
Set dossier_racine = fso.getfolder(racine) ' C'est ici qu'Excel propose
un déboggage
Lit_dossier dossier_racine
'************* fin du code (Daniel) **************
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
'--------------------------------------
Sub Lit_dossier(ByRef dossier)
Dim Decal As Integer
Decal = UBound(Split(dossier.Path, "")) - UBound(Split(racine, "")) +
1
Decal = 1 + (Decal - 1) * 2
Ctr = Ctr + 1
Cells(Ctr, Decal).Interior.ColorIndex = 6
Cells(Ctr, Decal) = dossier.Path
ActiveSheet.Hyperlinks.Add Cells(Ctr, Decal), dossier.Path,
TextToDisplay:=dossier.Name
For Each f In dossier.Files
Ctr = Ctr + 1
Cells(Ctr, Decal + 1) = f.Name
ActiveSheet.Hyperlinks.Add Cells(Ctr, Decal + 1), _
Address:=dossier.Path & "" & f.Name, _
TextToDisplay:=Left(f.Name, Len(f.Name) - 4)
Next
For Each d In dossier.SubFolders
Lit_dossier d
Next
End Sub
Sub test()
Dim i As Long, Discipline2 As String, Adresse As String, Texte As
String
Dim Ligne As Long, Discipline1 As String
Set sh = Sheets("SEMAINE 1")
With Sheets("Mes progressions")
For i = 2 To .Cells(Rows.Count, 5).Row
If .Cells(i, 3) <> "" Then
Discipline1 = .Cells(i, 3)
Discipline2 = ""
End If
If .Cells(i, 5) <> "" Then Discipline2 = .Cells(i, 5)
If LCase(.Cells(i, 7)) = "x" Then
If .Cells(i, 6) <> "" Then
Adresse = .Cells(i, 6).Hyperlinks(1).Address
Texte = .Cells(i, 6).Hyperlinks(1).TextToDisplay
ElseIf .Cells(i, 4) <> "" Then
Adresse = .Cells(i, 4).Hyperlinks(1).Address
Texte = .Cells(i, 4).Hyperlinks(1).TextToDisplay
Else
MsgBox "Erreur"
Exit Sub
End If
If Discipline2 = "" Then
Ligne = Application.Match(Discipline1, sh.[A:A], 0)
Else
Ligne = Application.Match(Discipline2, sh.[B:B], 0)
End If
sh.Cells(Ligne, 3).Hyperlinks.Delete
sh.Cells(Ligne, 3).ClearContents
sh.Hyperlinks.Add sh.Cells(Ligne, 3), Adresse,
TextToDisplay:=Texte
sh.Cells(Ligne, 3).Font.Color = vbBlack
sh.Cells(Ligne, 3).Font.Underline = xlUnderlineStyleNone
End If
Next i
End With
End Sub
Encore un grand merci!
Greg
"michdenis" <michdenis@hotmail.com> a écrit dans le message de groupe de
discussion : ii2c24$cgv$1@speranza.aioe.org...
Désolé, erreur d'aiguillage.
MichD
--------------------------------------------
Bonjour Denis,
Après 2 heures d'essais en tous genres, je reviens vers toi. L'idée de
repérer le lecteur grâce à un dossier fonctionne impec. Petite remarque au
passage : les espaces ne fonctionnent pas. Il faut donc un dossier sans
esapce dans le nom. Ensuite, la petite fenêtre confirme (Sera t-il
possible de l'éviter ensuite ?) même si la fameuse carte SD est insérée.
SUPER ! (m'écriais-je très tard en réveillant ma femme...)
Ensuite, dans mes nombreux essais (à peu près à l'heure où tu répondais à
un autre post sur celui-ci ;-))) ) , je pense que j'avais trouvé la
solution... Et plus moyen d'y revenir ce matin!
Voilà donc le code d'origine (travail de Daniel) suivi du tiens avec le
code incorporé. Le problème se situe à l'endroit où je rentre le chemin de
"racine". L'idée de départ étant que le premier code (qui fonctionne bien
quand on lui indique la lettre) puisse s'adapter en trouvant la clé USB.
J'ai tenté un tas de syntaxes différentes et même si j'ai dû tard dans la
nuit y parvenir, je n'y arrive plus... Voici donc les deux codes à la
suite, j'y ai fait quelques commentaires pour comprendre :
Sub RechercheFichiers()
' fonctionne impec!... mais le chemin doit être "fixe"... si la lettre
du lecteur change, c'est cuit.
racine = "I:DOSSIERSORGANISEUR" ' à modifier
Cells.Clear
Ctr = 0
'Set fso = New Scripting.FileSystemObject
Set fso = CreateObject("Scripting.FileSystemObject")
Set dossier_racine = fso.getfolder(racine)
Lit_dossier dossier_racine
End Sub
'-----------------------------------------
Sub test2()
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 = "DOSSIERS"
'************************************
PathAndFile = RemovableDisk(LecteurSource, Chemin)
If LecteurSource = "" Then
MsgBox "Aucun lecteur amovible attaché."
Exit Sub
Else
If EstPret(LecteurSource) = True Then
MsgBox PathAndFile
'************* début du code (Daniel) **************
racine = "I:DOSSIERSORGANISEUR" ' C'est ici qu'il faut trouver la
solution je pense!!!
Cells.Clear
Ctr = 0
'Set fso = New Scripting.FileSystemObject
Set fso = CreateObject("Scripting.FileSystemObject")
Set dossier_racine = fso.getfolder(racine) ' C'est ici qu'Excel propose
un déboggage
Lit_dossier dossier_racine
'************* fin du code (Daniel) **************
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
'--------------------------------------
Sub Lit_dossier(ByRef dossier)
Dim Decal As Integer
Decal = UBound(Split(dossier.Path, "")) - UBound(Split(racine, "")) +
1
Decal = 1 + (Decal - 1) * 2
Ctr = Ctr + 1
Cells(Ctr, Decal).Interior.ColorIndex = 6
Cells(Ctr, Decal) = dossier.Path
ActiveSheet.Hyperlinks.Add Cells(Ctr, Decal), dossier.Path,
TextToDisplay:=dossier.Name
For Each f In dossier.Files
Ctr = Ctr + 1
Cells(Ctr, Decal + 1) = f.Name
ActiveSheet.Hyperlinks.Add Cells(Ctr, Decal + 1), _
Address:=dossier.Path & "" & f.Name, _
TextToDisplay:=Left(f.Name, Len(f.Name) - 4)
Next
For Each d In dossier.SubFolders
Lit_dossier d
Next
End Sub
Sub test()
Dim i As Long, Discipline2 As String, Adresse As String, Texte As
String
Dim Ligne As Long, Discipline1 As String
Set sh = Sheets("SEMAINE 1")
With Sheets("Mes progressions")
For i = 2 To .Cells(Rows.Count, 5).Row
If .Cells(i, 3) <> "" Then
Discipline1 = .Cells(i, 3)
Discipline2 = ""
End If
If .Cells(i, 5) <> "" Then Discipline2 = .Cells(i, 5)
If LCase(.Cells(i, 7)) = "x" Then
If .Cells(i, 6) <> "" Then
Adresse = .Cells(i, 6).Hyperlinks(1).Address
Texte = .Cells(i, 6).Hyperlinks(1).TextToDisplay
ElseIf .Cells(i, 4) <> "" Then
Adresse = .Cells(i, 4).Hyperlinks(1).Address
Texte = .Cells(i, 4).Hyperlinks(1).TextToDisplay
Else
MsgBox "Erreur"
Exit Sub
End If
If Discipline2 = "" Then
Ligne = Application.Match(Discipline1, sh.[A:A], 0)
Else
Ligne = Application.Match(Discipline2, sh.[B:B], 0)
End If
sh.Cells(Ligne, 3).Hyperlinks.Delete
sh.Cells(Ligne, 3).ClearContents
sh.Hyperlinks.Add sh.Cells(Ligne, 3), Adresse,
TextToDisplay:=Texte
sh.Cells(Ligne, 3).Font.Color = vbBlack
sh.Cells(Ligne, 3).Font.Underline = xlUnderlineStyleNone
End If
Next i
End With
End Sub
Encore un grand merci!
Greg
"michdenis" a écrit dans le message de groupe de
discussion : ii2c24$cgv$Désolé, erreur d'aiguillage.
MichD
--------------------------------------------