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:
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
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
1) Je souhaite qu'on revoie le code réalisé à partir de l'enregistreur pour le rendre plus lisible (voire compréhensible),
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
2) je souhaite qu'on fusionne les 2 macros ci possible,
3) ce code :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).
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
Cordialement
Partager