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
| Public Function InsertionCables(matBuse As Variant, MatCable As Variant) As Variant
lb = UBound(matBuse, 1): cb = UBound(matBuse, 2): lc = UBound(MatCable, 1): cc = UBound(MatCable, 2)
Dim matBuse2 As Variant: matBuse2 = matBuse
'ReDim matBuse(1 To lb, 1 To cb) As Integer: ReDim MatCable(1 To lc, 1 To cc) As Integer
check = "no"
For i = 1 To lb: For j = 1 To cb
If i - Val(lc / 2) > 0 And j - Val(lc / 2) > 0 And i + Val(lc / 2) < lb And j + Val(lc / 2) < lb Then
For k = 1 To Val(lc / 2): For l = 1 To Val(lc / 2)
If matBuse(i, j) = 1 And matBuse(i - k, j - l) = 1 And matBuse(i + k, j + l) = 1 And matBuse(i - k, j + l) = 1 And matBuse(i + k, j - l) = 1 Then check = "ok" Else: check = "no"
If check <> "ok" Then Exit For: Exit For
Next l: Next k
End If
'MsgBox check
If check = "ok" Then
For k = 1 To Val(lc / 2): For l = 1 To Val(lc / 2)
If i - Val(lc / 2) > 0 And j - Val(lc / 2) > 0 And i + Val(lc / 2) < lb And j + Val(lc / 2) < lb Then
matBuse2(i - k, j - l) = 0: matBuse2(i + k, j + l) = 0: matBuse2(i - k, j + l) = 0: matBuse2(i + k, j - l) = 0:
End If
Next l: Next k
Exit For: Exit For
End If
Next j: Next i
InsertionCables = matBuse2
End Function |
Partager