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 Reversal_essai()
Dim vA As Variant, vB As Variant, vC As Variant, vD As Variant, vE As Variant, vF As Variant, vAO As Variant
Dim oSh As Excel.Worksheet, lDerlig As Long
Dim i As Long, k As Long
Set oSh = ThisWorkbook.Worksheets("base")
lDerlig = oSh.Range("E" & Application.Rows.Count).End(xlUp).Row
vA = oSh.Range("A1:A" & lDerlig + 1).Value
vB = oSh.Range("B1:B" & lDerlig).Value
vC = oSh.Range("C1:C" & lDerlig).Value
vD = oSh.Range("D1:D" & lDerlig).Value
vE = oSh.Range("E1:E" & lDerlig).Value
vF = oSh.Range("F1:F" & lDerlig).Value
vAO = oSh.Range("AO1:AO" & lDerlig).Value
'renseignement col A et B
For i = 2 To lDerlig
vA(i, 1) = vE(i, 1) & vD(i, 1) & vAO(i, 1)
vB(i, 1) = IIf(vF(i, 1) <> "", vF(i, 1), vD(i, 1) & vAO(i, 1))
Next i
'renseignement col C
For i = 2 To lDerlig
If InStr(1, StrConv(vB(i, 1), vbUpperCase), "OUI") > 0 Then
vC(i, 1) = vB(i, 1)
Else
For k = 2 To lDerlig
If vB(k, 1) = vA(i, 1) Then Exit For
Next k
vC(i, 1) = IIf(k <= lDerlig, vA(k, 1), vB(i, 1))
End If
Next i
oSh.Range("C1:C" & lDerlig).Value = vC
Set oSh = Nothing
vA = Empty
vB = Empty
vC = Empty
vD = Empty
vE = Empty
vF = Empty
vAO = Empty
End Sub |
Partager