Bonsoir le forum

C'est toujours un plaisir pour moi de me connecter à ce forum.
J'ai des données importées d'un logiciel que je dois retraitées.
Avec l'enregistreur, j'ai pu réaliser une 1ère partie dons le code est ci-dessous:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
Sub STAT()
'
' STAT Macro
'
 
'
   With ActiveSheet.QueryTables.Add(Connection:= _
        "TEXT;C:\Documents and Settings\pk9086\Bureau\STATSSEMAINE.txt", Destination:= _
        Range("$A$1"))
        .Name = "STATSSEMAINE"
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .TextFilePromptOnRefresh = False
        .TextFilePlatform = 850
        .TextFileStartRow = 1
        .TextFileParseType = xlFixedWidth
        .TextFileTextQualifier = xlTextQualifierDoubleQuote
        .TextFileConsecutiveDelimiter = False
        .TextFileTabDelimiter = True
        .TextFileSemicolonDelimiter = False
        .TextFileCommaDelimiter = False
        .TextFileSpaceDelimiter = False
        .TextFileColumnDataTypes = Array(1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1)
        .TextFileFixedColumnWidths = Array(16, 7, 23, 3, 12, 27, 6, 4, 19, 3, 11)
        .TextFileTrailingMinusNumbers = True
        .Refresh BackgroundQuery:=False
    End With
    Columns("A:D").Select
    Selection.Delete Shift:=xlToLeft
    Rows("2:13").Select
    Selection.Delete Shift:=xlUp
    Range("A3").Select
End Sub
J'ai obtenu un autre code qui me permet de poursuivre le traitement de mes données dont le code est ci-dessous:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
    Sub test()
    Application.ScreenUpdating = False
    Dim Derlg As Long
    Dim i As Long
    Dim c As Range
    Dim x As Range
 
    Derlg = Range("A65536").End(xlUp).Row
    For i = Derlg To 1 Step -1
    If Len(Range("A" & i)) <> 11 Or Left(Range("A" & i), 1) = "-" Then Rows(i).Delete
    Next i
 
    For Each c In Range("H1:H" & Range("H65536").End(xlUp).Row)
    If c = "AU" Then c = c.Offset(0, -2)
    Next c
 
    Columns(6).Delete Shift:=xlToLeft
 
    For Each x In Range("E1:E" & Range("E65536").End(xlUp).Row)
       If (x.Value Like "*,*") Then x.Value = Replace(x.Value, ",", "")
       x.NumberFormat = "#,##0.00"
    Next x
 
    End Sub
1) Je souhaite qu'on revoie le code réalisé à partir de l'enregistreur pour le rendre plus lisible (voire compréhensible),
2) je souhaite qu'on fusionne les 2 macros ci possible,
3) ce code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
If Len(Range("A" & i)) <> 11 Or Left(Range("A" & i), 1) = "-" Then Rows(i).Delete
prend en compte les mots de 11 lettres ce qui n'est pas bon. je souhaite qu'on le revoie afin que ca concerne les 11 chiffres(numérique).
Cordialement