Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

recuper des fichiers sur une clé USB : Comment choisir le lecteur ?

3 réponses
Avatar
Domi
Bosoir à tous,

J'ai fais il y a queqles années une petite application "importation_txt" qui
permet de recupérer sur unedisquette (lecteur A) 3 fichiers texte et de les
mettre en forme dans un classeur Excel.
Il faut evoluer... maintenant, je voudrait adapter cette macro pour qu'elle
ailles chercher les mêmes fichiers sur une clé USB. Problème, contrairement
à la disquette, le nom du lecteur correpondant à la clé USB varie en
fonction du micro (nombre de HDD...etc)
Je pense que la solution la plus simple est de choisir (ou selectionner) en
début de macro un lecteur qu'on affecte à un emplacement (variable) et de
dire aux macros d'aller chercher les fichiers dans cet emplacement... mais
je ne sais pas faire ce genre de truc...
Quelqu'un pourrait-il me dire comment modifier mon début de macro ?
Comment remplacer dans les macros import_txt1 à 3 "a:\" par une variable
choisie dans importation_txt (par exemple)
Merci
Domi

voici ce que j'ai fait :
Sub importation_txt()
import_txt1
import_txt2
import_txt3
MsgBox "Mise à jour terminée.", vbOKOnly
End Sub

et ensuite...

Sub import_txt1()
Workbooks.OpenText Filename:="a:\conbac.TXT", Origin:=xlWindows, _
StartRow:=1, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, _
ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=False, Comma:=True, _
Space:=False, Other:=False, FieldInfo:=Array(Array(1, 1), Array(2, 1), _
Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), Array(7, 1), _
Array(8, 1), Array(9, 1), Array(10, 1), Array(11, 1), Array(12, 1))
' Suite du traitement sur le fichier texte....
End Sub

Sub import_txt2()
Application.DisplayAlerts = False
Workbooks.OpenText Filename:="a:\volbac.TXT", Origin:=xlWindows, _
StartRow:=1, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, _
ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=False, Comma:=True, _
Space:=False, Other:=False, FieldInfo:=Array(Array(1, 1), Array(2, 1), _
Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), Array(7, 1), _
Array(8, 1), Array(9, 1), Array(10, 1), Array(11, 1), Array(12, 1))
' Suite du traitement sur le fichier texte....

End Sub

Sub import_txt2()
Application.DisplayAlerts = False
Workbooks.OpenText Filename:="a:\volcuv.TXT", Origin:=xlWindows, _
StartRow:=1, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, _
ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=False, Comma:=True, _
Space:=False, Other:=False, FieldInfo:=Array(Array(1, 1), Array(2, 1), _
Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), Array(7, 1), _
Array(8, 1), Array(9, 1), Array(10, 1), Array(11, 1), Array(12, 1))
' Suite du traitement sur le fichier texte....
End Sub

3 réponses

Avatar
isabelle
bonjour Domi,

Lecteur = InputBox("Entrer la letrre du lecteur.")
'Workbooks.OpenText Filename:="" & Lecteur & ":conbac.TXT", Origin:=xlWindows, _


isabelle

Bosoir à tous,

J'ai fais il y a queqles années une petite application "importation_txt" qui
permet de recupérer sur unedisquette (lecteur A) 3 fichiers texte et de les
mettre en forme dans un classeur Excel.
Il faut evoluer... maintenant, je voudrait adapter cette macro pour qu'elle
ailles chercher les mêmes fichiers sur une clé USB. Problème, contrairement
à la disquette, le nom du lecteur correpondant à la clé USB varie en
fonction du micro (nombre de HDD...etc)
Je pense que la solution la plus simple est de choisir (ou selectionner) en
début de macro un lecteur qu'on affecte à un emplacement (variable) et de
dire aux macros d'aller chercher les fichiers dans cet emplacement... mais
je ne sais pas faire ce genre de truc...
Quelqu'un pourrait-il me dire comment modifier mon début de macro ?
Comment remplacer dans les macros import_txt1 à 3 "a:" par une variable
choisie dans importation_txt (par exemple)
Merci
Domi

voici ce que j'ai fait :
Sub importation_txt()
import_txt1
import_txt2
import_txt3
MsgBox "Mise à jour terminée.", vbOKOnly
End Sub

et ensuite...

Sub import_txt1()
Workbooks.OpenText Filename:="a:conbac.TXT", Origin:=xlWindows, _
StartRow:=1, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, _
ConsecutiveDelimiter:úlse, Tab:=True, Semicolon:úlse, Comma:=True, _
Space:úlse, Other:úlse, FieldInfo:=Array(Array(1, 1), Array(2, 1), _
Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), Array(7, 1), _
Array(8, 1), Array(9, 1), Array(10, 1), Array(11, 1), Array(12, 1))
' Suite du traitement sur le fichier texte....
End Sub

Sub import_txt2()
Application.DisplayAlerts = False
Workbooks.OpenText Filename:="a:volbac.TXT", Origin:=xlWindows, _
StartRow:=1, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, _
ConsecutiveDelimiter:úlse, Tab:=True, Semicolon:úlse, Comma:=True, _
Space:úlse, Other:úlse, FieldInfo:=Array(Array(1, 1), Array(2, 1), _
Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), Array(7, 1), _
Array(8, 1), Array(9, 1), Array(10, 1), Array(11, 1), Array(12, 1))
' Suite du traitement sur le fichier texte....

End Sub

Sub import_txt2()
Application.DisplayAlerts = False
Workbooks.OpenText Filename:="a:volcuv.TXT", Origin:=xlWindows, _
StartRow:=1, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, _
ConsecutiveDelimiter:úlse, Tab:=True, Semicolon:úlse, Comma:=True, _
Space:úlse, Other:úlse, FieldInfo:=Array(Array(1, 1), Array(2, 1), _
Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), Array(7, 1), _
Array(8, 1), Array(9, 1), Array(10, 1), Array(11, 1), Array(12, 1))
' Suite du traitement sur le fichier texte....
End Sub





Avatar
Domi
Merci Isabelle, cela correspond tout à fait à mon attente.
Vraiment accessoirement, comment éviter un plantage si on saisie un lecteur
qui n'existe pas ?
Merci
Domi

"isabelle" a écrit dans le message de news:
uI%
bonjour Domi,

Lecteur = InputBox("Entrer la letrre du lecteur.")
'Workbooks.OpenText Filename:="" & Lecteur & ":conbac.TXT",
Origin:=xlWindows, _


isabelle

Bosoir à tous,

J'ai fais il y a queqles années une petite application "importation_txt"
qui permet de recupérer sur unedisquette (lecteur A) 3 fichiers texte et
de les mettre en forme dans un classeur Excel.
Il faut evoluer... maintenant, je voudrait adapter cette macro pour
qu'elle ailles chercher les mêmes fichiers sur une clé USB. Problème,
contrairement à la disquette, le nom du lecteur correpondant à la clé USB
varie en fonction du micro (nombre de HDD...etc)
Je pense que la solution la plus simple est de choisir (ou selectionner)
en début de macro un lecteur qu'on affecte à un emplacement (variable) et
de dire aux macros d'aller chercher les fichiers dans cet emplacement...
mais je ne sais pas faire ce genre de truc...
Quelqu'un pourrait-il me dire comment modifier mon début de macro ?
Comment remplacer dans les macros import_txt1 à 3 "a:" par une variable
choisie dans importation_txt (par exemple)
Merci
Domi

voici ce que j'ai fait :
Sub importation_txt()
import_txt1
import_txt2
import_txt3
MsgBox "Mise à jour terminée.", vbOKOnly
End Sub

et ensuite...

Sub import_txt1()
Workbooks.OpenText Filename:="a:conbac.TXT", Origin:=xlWindows, _
StartRow:=1, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, _
ConsecutiveDelimiter:úlse, Tab:=True, Semicolon:úlse, Comma:=True,
_
Space:úlse, Other:úlse, FieldInfo:=Array(Array(1, 1), Array(2, 1),
_
Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), Array(7, 1), _
Array(8, 1), Array(9, 1), Array(10, 1), Array(11, 1), Array(12, 1))
' Suite du traitement sur le fichier texte....
End Sub

Sub import_txt2()
Application.DisplayAlerts = False
Workbooks.OpenText Filename:="a:volbac.TXT", Origin:=xlWindows, _
StartRow:=1, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, _
ConsecutiveDelimiter:úlse, Tab:=True, Semicolon:úlse, Comma:=True,
_
Space:úlse, Other:úlse, FieldInfo:=Array(Array(1, 1), Array(2, 1),
_
Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), Array(7, 1), _
Array(8, 1), Array(9, 1), Array(10, 1), Array(11, 1), Array(12, 1))
' Suite du traitement sur le fichier texte....

End Sub

Sub import_txt2()
Application.DisplayAlerts = False
Workbooks.OpenText Filename:="a:volcuv.TXT", Origin:=xlWindows, _
StartRow:=1, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, _
ConsecutiveDelimiter:úlse, Tab:=True, Semicolon:úlse, Comma:=True,
_
Space:úlse, Other:úlse, FieldInfo:=Array(Array(1, 1), Array(2, 1),
_
Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), Array(7, 1), _
Array(8, 1), Array(9, 1), Array(10, 1), Array(11, 1), Array(12, 1))
' Suite du traitement sur le fichier texte....
End Sub






Avatar
isabelle
bonjour Domi,

Sub macro1()
Dim ss As SearchScope
Dim sf As ScopeFolder
rewind:
Lecteur = UCase(InputBox("Entrer la letrre du lecteur."))
With Application.FileSearch
For Each ss In .SearchScopes
Select Case ss.Type
Case msoSearchInMyComputer

For Each sf In ss.ScopeFolder.ScopeFolders
If Left(sf.Path, 1) = Lecteur Then
GoTo fin
Else
MsgBox "Ce lecteur n'existe pas"
GoTo rewind
End If
Next sf

Case Else
End Select
Next ss
End With
fin:
'MsgBox "Lecteur existe" 'Test
'Workbooks.OpenText Filename:="" & Lecteur & ":conbac.TXT", Origin:=xlWindows, _
End Sub

isabelle

Merci Isabelle, cela correspond tout à fait à mon attente.
Vraiment accessoirement, comment éviter un plantage si on saisie un lecteur
qui n'existe pas ?
Merci
Domi

"isabelle" a écrit dans le message de news:
uI%
bonjour Domi,

Lecteur = InputBox("Entrer la letrre du lecteur.")
'Workbooks.OpenText Filename:="" & Lecteur & ":conbac.TXT",
Origin:=xlWindows, _


isabelle

Bosoir à tous,

J'ai fais il y a queqles années une petite application "importation_txt"
qui permet de recupérer sur unedisquette (lecteur A) 3 fichiers texte et
de les mettre en forme dans un classeur Excel.
Il faut evoluer... maintenant, je voudrait adapter cette macro pour
qu'elle ailles chercher les mêmes fichiers sur une clé USB. Problème,
contrairement à la disquette, le nom du lecteur correpondant à la clé USB
varie en fonction du micro (nombre de HDD...etc)
Je pense que la solution la plus simple est de choisir (ou selectionner)
en début de macro un lecteur qu'on affecte à un emplacement (variable) et
de dire aux macros d'aller chercher les fichiers dans cet emplacement...
mais je ne sais pas faire ce genre de truc...
Quelqu'un pourrait-il me dire comment modifier mon début de macro ?
Comment remplacer dans les macros import_txt1 à 3 "a:" par une variable
choisie dans importation_txt (par exemple)
Merci
Domi

voici ce que j'ai fait :
Sub importation_txt()
import_txt1
import_txt2
import_txt3
MsgBox "Mise à jour terminée.", vbOKOnly
End Sub

et ensuite...

Sub import_txt1()
Workbooks.OpenText Filename:="a:conbac.TXT", Origin:=xlWindows, _
StartRow:=1, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, _
ConsecutiveDelimiter:úlse, Tab:=True, Semicolon:úlse, Comma:=True,
_
Space:úlse, Other:úlse, FieldInfo:=Array(Array(1, 1), Array(2, 1),
_
Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), Array(7, 1), _
Array(8, 1), Array(9, 1), Array(10, 1), Array(11, 1), Array(12, 1))
' Suite du traitement sur le fichier texte....
End Sub

Sub import_txt2()
Application.DisplayAlerts = False
Workbooks.OpenText Filename:="a:volbac.TXT", Origin:=xlWindows, _
StartRow:=1, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, _
ConsecutiveDelimiter:úlse, Tab:=True, Semicolon:úlse, Comma:=True,
_
Space:úlse, Other:úlse, FieldInfo:=Array(Array(1, 1), Array(2, 1),
_
Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), Array(7, 1), _
Array(8, 1), Array(9, 1), Array(10, 1), Array(11, 1), Array(12, 1))
' Suite du traitement sur le fichier texte....

End Sub

Sub import_txt2()
Application.DisplayAlerts = False
Workbooks.OpenText Filename:="a:volcuv.TXT", Origin:=xlWindows, _
StartRow:=1, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, _
ConsecutiveDelimiter:úlse, Tab:=True, Semicolon:úlse, Comma:=True,
_
Space:úlse, Other:úlse, FieldInfo:=Array(Array(1, 1), Array(2, 1),
_
Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), Array(7, 1), _
Array(8, 1), Array(9, 1), Array(10, 1), Array(11, 1), Array(12, 1))
' Suite du traitement sur le fichier texte....
End Sub