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 43 44 45 46 47 48
| Sub TestOnOff(ByVal App As String, ByVal Etat As Boolean, Optional OCK As Boolean)
Dim LastLigD As Long, LastLigB As Long, i As Long, j As Long
Dim Ws As Worksheet
Dim Tb, Td
With ThisWorkbook.Worksheets("APP")
LastLigD = .Cells(.Rows.Count, "A").End(xlUp).Row
Td = .Range("A2:F" & LastLigD)
End With
If OCK Then
Set Ws = ThisWorkbook.Worksheets("BD1")
Else
Set Ws = ThisWorkbook.Worksheets("BD")
End If
With Ws
LastLigB = .Cells(.Rows.Count, "B").End(xlUp).Row
Tb = .Range("B2:L" & LastLigB)
For i = 1 To LastLigD - 1
For j = 1 To LastLigB - 1
If Td(i, 6) = App Then
If Td(i, 1) = Tb(j, 1) Then
If Td(i, 2) = Tb(j, 2) Then
If Td(i, 3) = Tb(j, 3) Then
If Int(Td(i, 4)) = Int(Tb(j, 4)) Then
If Etat Then
If InStr(Tb(j, 6), App) = 0 Then Tb(j, 6) = Trim(Tb(j, 6) & " " & App)
If OCK Then Tb(j, 11) = Trim(Replace(Tb(j, 11), App, ""))
Else
Tb(j, 6) = Trim(Replace(Tb(j, 6), App, ""))
If OCK Then
If InStr(Tb(j, 11), App) = 0 Then Tb(j, 11) = Trim(Tb(j, 11) & " " & App)
End If
End If
End If
End If
End If
End If
End If
Next j
Next i
.Range("B2:L" & LastLigB) = Tb
End With
Set Ws = Nothing
End Sub |