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:
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 :
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
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:
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
Code:
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 :
Code:
If Len(Range("A" & i)) <> 11 Or Left(Range("A" & i), 1) = "-" Then Rows(i).Delete
Cordialement