Bonjour,
je souhaite utiliser une macro seulement dans une plage de cellule sans utiliser for each car trop long. des que l'on valide la celulle il y en a pour 10s à chaque fois.
Je cherche à dire:
si la cellule active est dans la plage de celulle (G5:AC40) alors
....
....
If activecell.range("G5:AC40") then
merci d'avance
Public Sub couleur()
If ActiveCell.Offset(-1, 0).Value = "3" Then
ActiveCell.Offset(-1, 0).Interior.ColorIndex = 4
ActiveCell.Offset(-1, 0).Font.ColorIndex = 4
End If
If ActiveCell.Offset(-1, 0).Value = "2" Then
ActiveCell.Offset(-1, 0).Interior.ColorIndex = 6
ActiveCell.Offset(-1, 0).Font.ColorIndex = 6
End If
If ActiveCell.Offset(-1, 0).Value = "1" Then
ActiveCell.Offset(-1, 0).Interior.ColorIndex = 45
ActiveCell.Offset(-1, 0).Font.ColorIndex = 45
End If
If ActiveCell.Offset(-1, 0).Value = "0" Then
ActiveCell.Offset(-1, 0).Interior.ColorIndex = 3
ActiveCell.Offset(-1, 0).Font.ColorIndex = 3
End If
If ActiveCell.Value = "" Then
ActiveCell.Interior.ColorIndex = xlNone
End If
End Sub
je souhaite utiliser une macro seulement dans une plage de cellule sans utiliser for each car trop long. des que l'on valide la celulle il y en a pour 10s à chaque fois.
Je cherche à dire:
si la cellule active est dans la plage de celulle (G5:AC40) alors
....
....
If activecell.range("G5:AC40") then
merci d'avance
Public Sub couleur()
If ActiveCell.Offset(-1, 0).Value = "3" Then
ActiveCell.Offset(-1, 0).Interior.ColorIndex = 4
ActiveCell.Offset(-1, 0).Font.ColorIndex = 4
End If
If ActiveCell.Offset(-1, 0).Value = "2" Then
ActiveCell.Offset(-1, 0).Interior.ColorIndex = 6
ActiveCell.Offset(-1, 0).Font.ColorIndex = 6
End If
If ActiveCell.Offset(-1, 0).Value = "1" Then
ActiveCell.Offset(-1, 0).Interior.ColorIndex = 45
ActiveCell.Offset(-1, 0).Font.ColorIndex = 45
End If
If ActiveCell.Offset(-1, 0).Value = "0" Then
ActiveCell.Offset(-1, 0).Interior.ColorIndex = 3
ActiveCell.Offset(-1, 0).Font.ColorIndex = 3
End If
If ActiveCell.Value = "" Then
ActiveCell.Interior.ColorIndex = xlNone
End If
End Sub