Bonjour,
j'ai un petit souci sur une macro excel, j'ai fait une macro mettant en forme (coloration) une ligne de cellule lorsque une case est non vide, tout ça grace à la macro worksheet_change. Donc dès qu'une modification est faite dans la feuiile, le programme vérifie les cases d'une colonne et si elles ne sont pas vides ça colore la ligne correspondante.
Le problème est que j'aimerais par la même occasion qu'il me mette à jour une case où se trouve la date de mise à jour mais cela fait recommencer la macro puisque ca modifie la feuille d'où un bouclage quasi infini du programme...
Avez vous une meilleure idée pour faire ce que je veux ou alors y'a t il une fonction qui permette d'empecher le programme de repartir à zéro? Voir le programme ci dessous.
Merci d'avance
Voici mon programme:
Private Sub Worksheet_Change(ByVal Target As Range)
Application.ScreenUpdating = False
cellule = ActiveCell.Address
On Error GoTo arret
Cells(5, 7).Select
Do While ActiveCell.Interior.ColorIndex <> 1
If ActiveCell.Value <> "" Then
Range(ActiveCell.Offset(0, -6), ActiveCell).Select
Selection.Interior.ColorIndex = 4
ActiveCell.Offset(0, 6).Select
Else
Range(ActiveCell.Offset(0, -6), ActiveCell).Select
Selection.Interior.ColorIndex = xlNone
ActiveCell.Offset(0, 6).Select
End If
ActiveCell.Offset(1, 0).Select
Loop
'''''Range("A2")="Mise à jour le : " & Date '''''c'est cette ligne qui fait redémarrer
Range(cellule).Select
arret:
Application.ScreenUpdating = True
End Sub
Configuration: Windows XP
Internet Explorer 6.0