Utiliser un opérateur dans un IF via une variable
Bonjour,
J'aimerais pouvoir résoudre le problème suivant. Mon code possède deux boucles t.
Lors de la première boucle, je veux utiliser l'opérateur ">" dans un IF (en gras rouge) et lors de la deuxième boucle, je veux utiliser l'opérateur "<" dans ce même IF (en gras rouge).
J'ai tenté le coup avec la variable signe. J'ai tenté d'autres manières mais je n'y parviens pas. Surement juste une question de synthaxe.
Je pourrais evidemment utiliser un autre If et répéter presque deux fois presque le même code mais ce n'est pas mon but.
Merci des solutions que vous pourrez m'apporter.
Code:
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 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74
| Sub top5_evolution()
For t = 1 To 2
For p = 1 To 3
For w = 1 To 4
If w > 1 Then
Range("K4").Value = "Product/Period"
Dim ref As Integer
ref = 26023 + w - 2 + 5 * (p - 1)
Range("K5").Formula = "=CONCATENATE(LEFT(D" & ref & ",2*" & w & "-2),""?? *"")"
Range("A3:I26014").AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:= _
Range("K4:K5"), Unique:=False
Range("K4").Value = ""
Range("K5").Value = ""
Cells(26025 + w - 2 + 5 * (p - 1), 4).CurrentRegion.Select
selection.Offset(w - 1, 0).Select
selection.Clear
End If
Set Table = Range("A1").CurrentRegion
Table.Offset(3, 0).Resize(Table.Rows.Count - 3, Table.Columns.Count - 0).Copy
Cells(26025 + w - 2 + 5 * (p - 1) + 15 * (t - 1), 4).PasteSpecial
selection.Replace What:="", Replacement:="0"
Dim lignes As Integer
lignes = selection.Rows.Count
selection.End(xlToRight).Select
selection.Offset(0, 1).Resize(lignes, 1).Select
selection.FormulaR1C1 = "=RC[-3]-RC[-4]"
Dim chiffres As Single
chiffres = 0
Set tablecopy = Cells(26025 + w - 2 + 5 * (p - 1) + 15 * (t - 1), 4).CurrentRegion
Cells(26025 + w - 2 + 5 * (p - 1) + 15 * (t - 1), 13).Activate
Dim signe As String
If t = 1 Then
signe = ">"
Else
signe = "<"
End If
For i = 1 To tablecopy.Rows.Count
If ActiveCell & signe & chiffres Then
chiffres = ActiveCell.Value
Cells(26024 + w - 2 + 5 * (p - 1) + 15 * (t - 1), 5).Value = chiffres
ActiveCell.Offset(0, -9).Copy
Cells(26024 + w - 2 + 5 * (p - 1) + 15 * (t - 1), 4).PasteSpecial
ActiveCell.Offset(i, 9).Select
End If
ActiveCell.Offset(1, 0).Select
Next i
Next w
Cells(26028 + 5 * (p - 1) + 15 * (t - 1), 4).CurrentRegion.Select
selection.Offset(4, 0).Resize(selection.Rows.Count - 4, selection.Columns.Count).Select
selection.Clear
Next p
Next t
End Sub |
Erreur de type missmatch