OVH Cloud OVH Cloud

chosir la bonne lettre et colonne fixe

1 réponse
Avatar
Daniel
Bonsoir a tous

La macros suivante me permet d'importer des donné d'un fichier Texte.
Les donnés sont dans une clésUSB .

1: Que faire pour qu'il trouve la clésUSB sur la bonne lettre (parfois le
"D" , "E"ou "F").
( dépendant ci je suis branché sur un réseau )
2: Et aussi les colonne s'ajuste automatiquement,
Je préfèrerais que les colonne soit fixe quand les donnés sont importer.

Comment faire?

Merci

Sub Importé_de_Clés_usb()
Application.ScreenUpdating = False
ActiveSheet.Unprotect "cn178174"
Range("A2").Select
With Selection.QueryTable
.Connection = "TEXT;F:\*.txt"
.TextFilePlatform = xlWindows
.TextFileStartRow = 1
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = False
.TextFileSemicolonDelimiter = False
.TextFileCommaDelimiter = True
.TextFileSpaceDelimiter = False
.TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1, 1, 1)
.Refresh BackgroundQuery:=False
End With
Application.CommandBars("Stop Recording").Visible = False
Range("Y1:AK1").Copy
Range("J2:V500").Select
ActiveSheet.Paste
Application.ScreenUpdating = True
Range("C2").Select
Worksheet_Change Range("C3")
ActiveSheet.Protect "cn178174", DrawingObjects:=False, Contents:=True,
Scenarios:=True
End Sub

1 réponse

Avatar
PMO
Bonjour,

Pour répondre à votre 1ère question:

Une piste avec le code suivant qui utilise l'API Windows et
qui énumère les disques amovibles.
Malheureusement il ne sait pas faire la différence entre
un drive d'USB ou un drive de zip IOMEGA …
Peut-être que quelqu'un de plus féru vous apportera la réponse.

'***************************
Declare Function GetLogicalDriveStrings& Lib "kernel32" _
Alias "GetLogicalDriveStringsA" (ByVal nBufferLength As Long, _
ByVal lpBuffer As String)
Declare Function GetDriveType& Lib "kernel32" _
Alias "GetDriveTypeA" (ByVal nDrive As String)
Const DRIVE_REMOVABLE As Integer = 2

Sub PMO_DrivesAmovibles()
Dim A$
Dim i&
Dim j&
Dim T$()
Dim retour&
A$ = Space(255)
retour& = GetLogicalDriveStrings(255, A$)
Do Until Left$(A$, 1) = Chr$(0)
If GetDriveType(Left$(A$, InStr(1, A$, Chr$(0)) - 1)) _
= DRIVE_REMOVABLE Then
j& = j& + 1
ReDim Preserve T$(1 To j&)
T$(j&) = Left$(A$, 1)
End If
A$ = Right$(A$, Len(A$) - 4)
Loop
For i& = 1 To j&
MsgBox "Le lecteur amovible N°" & i& & " est " & T$(i&)
Next
End Sub
'***************************

Cordialement.
--
PMO
Patrick Morange



Bonsoir a tous

La macros suivante me permet d'importer des donné d'un fichier Texte.
Les donnés sont dans une clésUSB .

1: Que faire pour qu'il trouve la clésUSB sur la bonne lettre (parfois le
"D" , "E"ou "F").
( dépendant ci je suis branché sur un réseau )
2: Et aussi les colonne s'ajuste automatiquement,
Je préfèrerais que les colonne soit fixe quand les donnés sont importer.

Comment faire?

Merci

Sub Importé_de_Clés_usb()
Application.ScreenUpdating = False
ActiveSheet.Unprotect "cn178174"
Range("A2").Select
With Selection.QueryTable
.Connection = "TEXT;F:*.txt"
.TextFilePlatform = xlWindows
.TextFileStartRow = 1
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = False
.TextFileSemicolonDelimiter = False
.TextFileCommaDelimiter = True
.TextFileSpaceDelimiter = False
.TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1, 1, 1)
.Refresh BackgroundQuery:úlse
End With
Application.CommandBars("Stop Recording").Visible = False
Range("Y1:AK1").Copy
Range("J2:V500").Select
ActiveSheet.Paste
Application.ScreenUpdating = True
Range("C2").Select
Worksheet_Change Range("C3")
ActiveSheet.Protect "cn178174", DrawingObjects:úlse, Contents:=True,
Scenarios:=True
End Sub