VBA lire un disque USB externe
Fermé
tontonbruno
Messages postés
6
Date d'inscription
vendredi 18 mars 2005
Statut
Membre
Dernière intervention
4 octobre 2021
-
23 sept. 2021 à 00:04
tontonbruno Messages postés 6 Date d'inscription vendredi 18 mars 2005 Statut Membre Dernière intervention 4 octobre 2021 - 4 oct. 2021 à 16:56
tontonbruno Messages postés 6 Date d'inscription vendredi 18 mars 2005 Statut Membre Dernière intervention 4 octobre 2021 - 4 oct. 2021 à 16:56
A voir également:
- VBA lire un disque USB externe
- Lire le coran en français pdf - Télécharger - Histoire & Religion
- Cloner disque dur - Guide
- Chkdsk disque dur externe - Guide
- Defragmenter disque dur - Guide
- Cle usb non reconnu - Guide
5 réponses
yg_be
Messages postés
23342
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
21 novembre 2024
Ambassadeur
1 551
23 sept. 2021 à 08:47
23 sept. 2021 à 08:47
bonjour,
que contient la variable
Je pense que tu peux déplacer la ligne 3 avant la ligne 1.
que contient la variable
monfic?
Je pense que tu peux déplacer la ligne 3 avant la ligne 1.
tontonbruno
Messages postés
6
Date d'inscription
vendredi 18 mars 2005
Statut
Membre
Dernière intervention
4 octobre 2021
1
25 sept. 2021 à 09:39
25 sept. 2021 à 09:39
Bonjour yg_be,
Le code complet, en fait, est le suivant :
Encore une fois, ce code fonctionne avec des fichiers en local. Pas avec des fichiers sur disque USB Externe ... curieux.
Merci.
Le code complet, en fait, est le suivant :
Public Sub Copier()
Dim monfichier As String
Dim oFSO As Scripting.FileSystemObject
monfichier = "D:\100_DATA\120_WEB\www\perso\sites\fileinfo\dir.txt"
F = FreeFile()
Open monfichier For Input As #F
While Not EOF(F)
Line Input #F, ContenuLigne
monfichier = Trim(ContenuLigne)
Set oFSO = New Scripting.FileSystemObject ' Instanciation du FSO
If oFSO.FileExists(monfichier) Then 'Instanciation de l'objet File
Set oFILISTE = oFSO.GetFile(monfichier)
End If
fin:
GoTo Suite
err:
Select Case err.Number
Case 53: Debug.Print "--------> Fichier introuvable"
Case Else: Debug.Print "--------> Erreur inconnue"
End Select
Resume fin
Suite:
Wend
Close #F
End Sub
Encore une fois, ce code fonctionne avec des fichiers en local. Pas avec des fichiers sur disque USB Externe ... curieux.
Merci.
yg_be
Messages postés
23342
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
21 novembre 2024
1 551
25 sept. 2021 à 11:01
25 sept. 2021 à 11:01
que contient la variable
monficau moment de l'erreur?
tontonbruno
Messages postés
6
Date d'inscription
vendredi 18 mars 2005
Statut
Membre
Dernière intervention
4 octobre 2021
1
1 oct. 2021 à 19:44
1 oct. 2021 à 19:44
Je ne comprends plus rien à l'informatique ! (si j'y ai compris quelque chose un jour ... )
J'ai relancé now pour répondre à ta question : tous les fichiers fonctionnent.
J'avais trouvé ce moyen pour lister toutes les photos de mon disque que je n'arrive plus à ouvrir via l'explorateur de Windows.
Les photos abimées arrivaient à déclencher l'erreur dans le on error ... Plus maintenant !
Si tu as une idée autre pour résoudre mon problème, je suis preneur.
PS : j'avais essayé aussi en PHP sans succès ... :(
Merci d'avance.
J'ai relancé now pour répondre à ta question : tous les fichiers fonctionnent.
J'avais trouvé ce moyen pour lister toutes les photos de mon disque que je n'arrive plus à ouvrir via l'explorateur de Windows.
Les photos abimées arrivaient à déclencher l'erreur dans le on error ... Plus maintenant !
Si tu as une idée autre pour résoudre mon problème, je suis preneur.
PS : j'avais essayé aussi en PHP sans succès ... :(
Merci d'avance.
yg_be
Messages postés
23342
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
21 novembre 2024
1 551
1 oct. 2021 à 20:52
1 oct. 2021 à 20:52
tu écris "tous les fichiers fonctionnent", et ensuite "résoudre mon problème".
quel est le problème, puisque tout fonctionne?
quel est le problème, puisque tout fonctionne?
tontonbruno
Messages postés
6
Date d'inscription
vendredi 18 mars 2005
Statut
Membre
Dernière intervention
4 octobre 2021
1
Modifié le 1 oct. 2021 à 22:36
Modifié le 1 oct. 2021 à 22:36
Voilà le souci : quand je veux ouvrir une photo vérolée par l'explorateur de fichier, Windows me renvoie une erreur.
Donc je me suis dis : si je les ouvre avec Excel, est-ce que cela me donne une erreur ? Dans ce cas, je pourrais catcher les erreurs et faire une liste des photos vérolées.
J'ai essayé au début sur une photo : ça fonctionnait. C'est-à-dire qu'Excel me renvoyait une erreur.
Ensuite, j'ai fait un > DIR > monrep.txt du répertoire de photos par l'invite de commande CMD, pour créer un fichier .txt contenant toutes les photos ( path + nom de la photo ) du répertoire concerné.
Puis j'ai fait une boucle sur ce fichier .txt et pour chaque ligne, donc chaque path+photo, je fais un " Set oFILISTE = oFSO.GetFile(monfichier) " en espérant catcher les erreurs, par le On Error, dues aux photos vérolées, et ainsi les lister par debug.print.
Ce qui fonctionnait sur une photo ne fonctionne plus : c'est-à-dire que je passe, pour toutes les photos, même les vérolées, dans la condition :
... sans que cette instruction ne déclenche la clause On Error.
Résultat du script :
A noter que N est mon disque USB externe sur lequel j'ai des soucis de lecture de certaines photos.
Voilà. J'espère que j'ai été bien clair. N'hésite pas à me dire sinon.
Merci de ta réponse.
Cordialement,
Donc je me suis dis : si je les ouvre avec Excel, est-ce que cela me donne une erreur ? Dans ce cas, je pourrais catcher les erreurs et faire une liste des photos vérolées.
J'ai essayé au début sur une photo : ça fonctionnait. C'est-à-dire qu'Excel me renvoyait une erreur.
Ensuite, j'ai fait un > DIR > monrep.txt du répertoire de photos par l'invite de commande CMD, pour créer un fichier .txt contenant toutes les photos ( path + nom de la photo ) du répertoire concerné.
Puis j'ai fait une boucle sur ce fichier .txt et pour chaque ligne, donc chaque path+photo, je fais un " Set oFILISTE = oFSO.GetFile(monfichier) " en espérant catcher les erreurs, par le On Error, dues aux photos vérolées, et ainsi les lister par debug.print.
Ce qui fonctionnait sur une photo ne fonctionne plus : c'est-à-dire que je passe, pour toutes les photos, même les vérolées, dans la condition :
If oFSO.FileExists(monfichier) Then 'Instanciation de l'objet File Set oFILISTE = oFSO.GetFile(monfichier) End If
... sans que cette instruction ne déclenche la clause On Error.
Public Sub Copier() Dim fic_a_tester As String Dim monfichier As String Dim oFSO As Scripting.FileSystemObject monfichier = "D:\100_DATA\120_WEB\www\perso\sites\fileinfo\dir.txt" F = FreeFile() Open monfichier For Input As #F On Error GoTo err Set oFSO = New Scripting.FileSystemObject ' Instanciation du FSO While Not EOF(F) Line Input #F, ContenuLigne fic_a_tester = Trim(ContenuLigne) Debug.Print fic_a_tester If oFSO.FileExists(fic_a_tester) Then ' Instanciation de l'objet File Set oFILISTE = oFSO.GetFile(fic_a_tester) End If fin: GoTo Suite err: Select Case err.Number Case 53: Debug.Print "--------> Fichier introuvable" Case Else: Debug.Print "--------> Erreur inconnue" End Select Resume fin Suite: Wend Close #F End Sub
Résultat du script :
D:\100_DATA\120_WEB\www\perso\sites\fileinfo\fichiers\2020 20 20 _ 001.jpg N:\125_ALBUMS\000125 _ 2001 12 25 - Noel 2001\2001 12 25 _ 030.jpg D:\100_DATA\120_WEB\www\perso\sites\fileinfo\fichiers\2020 20 20 _ 002.jpg
A noter que N est mon disque USB externe sur lequel j'ai des soucis de lecture de certaines photos.
Voilà. J'espère que j'ai été bien clair. N'hésite pas à me dire sinon.
Merci de ta réponse.
Cordialement,
yg_be
Messages postés
23342
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
21 novembre 2024
1 551
2 oct. 2021 à 08:15
2 oct. 2021 à 08:15
Je ne pense pas que GetFile() en VBA soit capable de détecter que le fichier est vérolé.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
tontonbruno
Messages postés
6
Date d'inscription
vendredi 18 mars 2005
Statut
Membre
Dernière intervention
4 octobre 2021
1
4 oct. 2021 à 16:56
4 oct. 2021 à 16:56
Effectivement ça ne marche pas.
Mon sauveur sera ... PYTHON.
Merci de vos réponse sen tous cas.
Cordialement,
Mon sauveur sera ... PYTHON.
Merci de vos réponse sen tous cas.
Cordialement,