Bonjour tout le monde,
La macro utilisée fonctionne très bien.
J'ai essayé de la mettre avec une autre, qui a pour objectif de mettre certaines cases avec une couleur définie en fonction de la cellule où l'on a cliqué.
Comme je dois mettre à jour mon tableau régulièrement, à l'aide de Copier/coller, quand la macro tourne, il n'est plus possible de faire du Ctrl+C/Ctrl+V.
Je souhaite donc pouvoir désactiver la macro quand je suis en mode saisie, et l'activer quand je suis en mode consultation.
Pour cela, j'ai créé un bouton bascule dans le lequel j'ai copié le code.
Et la ca bugg...
Quelqu'un aurait il une idee d'une part pour résoudre, et d'autre part, pour peut etre simplifier le code ?
Voila le code :
Private Sub ToggleButton1_Click()
Dim TaLigne As Long
With Range("A1:A" & [A65536].End(3).Row)
Set C = .Find("FIN", LookIn:=xlValues)
If Not C Is Nothing Then
TaLigne = C.Row
Else
MsgBox ("Rien trouvé !")
End If
End With
If Target.Row < TaLigne Then
If Target.Row > 5 Then
Range(Cells(6, 1), Cells(TaLigne, 1)).Interior.ColorIndex = xlNone
Range(Cells(Target.Row, 8), Cells(Target.Row, 1)).Interior.ColorIndex = 40
Range(Cells(6, 8), Cells(TaLigne, 8)).Interior.ColorIndex = xlNone
Range(Cells(Target.Row, 8), Cells(Target.Row, 8)).Interior.ColorIndex = 40
Range(Cells(6, 12), Cells(TaLigne, 12)).Interior.ColorIndex = xlNone
Range(Cells(Target.Row, 12), Cells(Target.Row, 12)).Interior.ColorIndex = 40
Range(Cells(6, 17), Cells(TaLigne, 17)).Interior.ColorIndex = xlNone
Range(Cells(Target.Row, 17), Cells(Target.Row, 17)).Interior.ColorIndex = 40
Range(Cells(6, 21), Cells(TaLigne, 21)).Interior.ColorIndex = xlNone
Range(Cells(Target.Row, 21), Cells(Target.Row, 21)).Interior.ColorIndex = 40
Range(Cells(6, 34), Cells(TaLigne, 34)).Interior.ColorIndex = xlNone
Range(Cells(Target.Row, 34), Cells(Target.Row, 34)).Interior.ColorIndex = 40
Range(Cells(6, 50), Cells(TaLigne, 50)).Interior.ColorIndex = xlNone
Range(Cells(Target.Row, 50), Cells(Target.Row, 50)).Interior.ColorIndex = 40
Range(Cells(6, 60), Cells(TaLigne, 60)).Interior.ColorIndex = xlNone
Range(Cells(Target.Row, 60), Cells(Target.Row, 60)).Interior.ColorIndex = 40
Range(Cells(6, 91), Cells(TaLigne, 91)).Interior.ColorIndex = xlNone
Range(Cells(Target.Row, 91), Cells(Target.Row, 91)).Interior.ColorIndex = 40
Range(Cells(6, 113), Cells(TaLigne, 113)).Interior.ColorIndex = xlNone
Range(Cells(Target.Row, 113), Cells(Target.Row, 113)).Interior.ColorIndex = 40
Range(Cells(6, 132), Cells(TaLigne, 132)).Interior.ColorIndex = xlNone
Range(Cells(Target.Row, 132), Cells(Target.Row, 132)).Interior.ColorIndex = 40
Range(Cells(6, 147), Cells(TaLigne, 147)).Interior.ColorIndex = xlNone
Range(Cells(Target.Row, 147), Cells(Target.Row, 147)).Interior.ColorIndex = 40
Range(Cells(6, 153), Cells(TaLigne, 153)).Interior.ColorIndex = xlNone
Range(Cells(Target.Row, 153), Cells(Target.Row, 153)).Interior.ColorIndex = 40
Range(Cells(6, 183), Cells(TaLigne, 183)).Interior.ColorIndex = xlNone
Range(Cells(Target.Row, 183), Cells(Target.Row, 183)).Interior.ColorIndex = 40
Range(Cells(6, 192), Cells(TaLigne, 192)).Interior.ColorIndex = xlNone
Range(Cells(Target.Row, 192), Cells(Target.Row, 192)).Interior.ColorIndex = 40
End If
End If
End Sub
La macro utilisée fonctionne très bien.
J'ai essayé de la mettre avec une autre, qui a pour objectif de mettre certaines cases avec une couleur définie en fonction de la cellule où l'on a cliqué.
Comme je dois mettre à jour mon tableau régulièrement, à l'aide de Copier/coller, quand la macro tourne, il n'est plus possible de faire du Ctrl+C/Ctrl+V.
Je souhaite donc pouvoir désactiver la macro quand je suis en mode saisie, et l'activer quand je suis en mode consultation.
Pour cela, j'ai créé un bouton bascule dans le lequel j'ai copié le code.
Et la ca bugg...
Quelqu'un aurait il une idee d'une part pour résoudre, et d'autre part, pour peut etre simplifier le code ?
Voila le code :
Private Sub ToggleButton1_Click()
Dim TaLigne As Long
With Range("A1:A" & [A65536].End(3).Row)
Set C = .Find("FIN", LookIn:=xlValues)
If Not C Is Nothing Then
TaLigne = C.Row
Else
MsgBox ("Rien trouvé !")
End If
End With
If Target.Row < TaLigne Then
If Target.Row > 5 Then
Range(Cells(6, 1), Cells(TaLigne, 1)).Interior.ColorIndex = xlNone
Range(Cells(Target.Row, 8), Cells(Target.Row, 1)).Interior.ColorIndex = 40
Range(Cells(6, 8), Cells(TaLigne, 8)).Interior.ColorIndex = xlNone
Range(Cells(Target.Row, 8), Cells(Target.Row, 8)).Interior.ColorIndex = 40
Range(Cells(6, 12), Cells(TaLigne, 12)).Interior.ColorIndex = xlNone
Range(Cells(Target.Row, 12), Cells(Target.Row, 12)).Interior.ColorIndex = 40
Range(Cells(6, 17), Cells(TaLigne, 17)).Interior.ColorIndex = xlNone
Range(Cells(Target.Row, 17), Cells(Target.Row, 17)).Interior.ColorIndex = 40
Range(Cells(6, 21), Cells(TaLigne, 21)).Interior.ColorIndex = xlNone
Range(Cells(Target.Row, 21), Cells(Target.Row, 21)).Interior.ColorIndex = 40
Range(Cells(6, 34), Cells(TaLigne, 34)).Interior.ColorIndex = xlNone
Range(Cells(Target.Row, 34), Cells(Target.Row, 34)).Interior.ColorIndex = 40
Range(Cells(6, 50), Cells(TaLigne, 50)).Interior.ColorIndex = xlNone
Range(Cells(Target.Row, 50), Cells(Target.Row, 50)).Interior.ColorIndex = 40
Range(Cells(6, 60), Cells(TaLigne, 60)).Interior.ColorIndex = xlNone
Range(Cells(Target.Row, 60), Cells(Target.Row, 60)).Interior.ColorIndex = 40
Range(Cells(6, 91), Cells(TaLigne, 91)).Interior.ColorIndex = xlNone
Range(Cells(Target.Row, 91), Cells(Target.Row, 91)).Interior.ColorIndex = 40
Range(Cells(6, 113), Cells(TaLigne, 113)).Interior.ColorIndex = xlNone
Range(Cells(Target.Row, 113), Cells(Target.Row, 113)).Interior.ColorIndex = 40
Range(Cells(6, 132), Cells(TaLigne, 132)).Interior.ColorIndex = xlNone
Range(Cells(Target.Row, 132), Cells(Target.Row, 132)).Interior.ColorIndex = 40
Range(Cells(6, 147), Cells(TaLigne, 147)).Interior.ColorIndex = xlNone
Range(Cells(Target.Row, 147), Cells(Target.Row, 147)).Interior.ColorIndex = 40
Range(Cells(6, 153), Cells(TaLigne, 153)).Interior.ColorIndex = xlNone
Range(Cells(Target.Row, 153), Cells(Target.Row, 153)).Interior.ColorIndex = 40
Range(Cells(6, 183), Cells(TaLigne, 183)).Interior.ColorIndex = xlNone
Range(Cells(Target.Row, 183), Cells(Target.Row, 183)).Interior.ColorIndex = 40
Range(Cells(6, 192), Cells(TaLigne, 192)).Interior.ColorIndex = xlNone
Range(Cells(Target.Row, 192), Cells(Target.Row, 192)).Interior.ColorIndex = 40
End If
End If
End Sub