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 42
| Option Explicit
Sub Scan()
Dim B As Range, C As Range, D As Range
Dim nb_ligneB As Long, DBi As String
Dim STRUCT_END_Row As Long, numId As Long, UDT As String
Dim process
Dim TableauTag() As Variant
'On scrute le CSV
numId = 0
nb_ligneB = 24
For Each B In Range("A1:A" & nb_ligneB)
'On cherche les termes commençant par "DBi"
If Left(B.Value, 3) = "DBi" Then
'On relève la valeur
DBi = Range("A" & B.Row).Value
'On cherche Struct_End en dessous
For Each C In Range("A" & B.Row & ":A" & nb_ligneB)
If Range("A" & C.Row).Value = "STRUCT_END" Then
STRUCT_END_Row = C.Row
Exit For
End If
Next C
For Each D In Range("A" & B.Row + 1 & ":A" & STRUCT_END_Row - 1)
numId = numId + 1
process = Split(D, "_")
UDT = Range("B" & B.Row + 1).Value
'Je compléte les élément dans un tableau
'Définit la taille du tableau
ReDim Preserve TableauTag(1 To 6, 1 To numId)
TableauTag(1, numId) = numId
TableauTag(2, numId) = "PLC"
TableauTag(3, numId) = process(0)
TableauTag(4, numId) = DBi
TableauTag(5, numId) = D.Value
TableauTag(6, numId) = UDT
'Debug.Print TableauTag(1, numId) & " # " & TableauTag(2, numId) & " # " & TableauTag(3, numId) & " # " & _
TableauTag(4, numId) & " # " & TableauTag(5, numId) & " # " & TableauTag(6, numId)
Next D
End If
Next B
End Sub |
Partager