Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

modifier couleur cellule quand modification

3 réponses
Avatar
himym
Bonjour,
j'aimerai trouver une macro VBA qui modifie la couleur des cellules lorsqu'elles sont modifiées (pour savoir si autre autre utilisateur du fichier à changé quelques chose par exemple) et met un 'x' dans une colonne pour repérer plus vite les modifications. J'ai donc cette macro qui marche:

Private Sub Worksheet_Change(ByVal Target As Range)
numlig = Target.Row
If Target.Value = "" Then 'si cellule vide
Target.Interior.ColorIndex = 0 'couleur transparent
'pour la croix
' reste t-il des valeurs
Var = Range("K" & numlig & ":T" & numlig).Count
If Application.WorksheetFunction.CountA(Range("K" & numlig & ":T" & numlig)) = 0 Then
Range("J" & numlig) = ""
End If
Exit Sub
End If
Target.Interior.ColorIndex = 45 'color orange
Range("J" & numlig) = "x"
End Sub

Mon problème est qu'une fois une modification faite il n'est plus possible de revenir en arrière.
Et j'aimerai appliquer cette macro qu'à une certaine plage (en l'occurence J6:AB620, mais je ne sais pas où placer cette sélection.
Ou peut être existe t-il une façon plus simple de faire cela?
Merci d'avance pour votre aide.

3 réponses

Avatar
Gloops
himym a écrit, le 25/04/2013 13:41 :
Bonjour,
j'aimerai trouver une macro VBA qui modifie la couleur des cellules lor squ'elles
sont modifiées (pour savoir si autre autre utilisateur du fichier à changé
quelques chose par exemple) et met un 'x' dans une colonne pour repér er plus
vite les modifications. J'ai donc cette macro qui marche:

Private Sub Worksheet_Change(ByVal Target As Range)
numlig = Target.Row
If Target.Value = "" Then 'si cellule vide
Target.Interior.ColorIndex = 0 'couleur transparent
'pour la croix
' reste t-il des valeurs
Var = Range("K" & numlig & ":T" & numlig).Count
If Application.WorksheetFunction.CountA(Range("K" & numlig & " :T" &
numlig)) = 0 Then
Range("J" & numlig) = ""
End If
Exit Sub
End If
Target.Interior.ColorIndex = 45 'color orange
Range("J" & numlig) = "x"
End Sub

Mon problème est qu'une fois une modification faite il n'est plus pos sible de
revenir en arrière.
Et j'aimerai appliquer cette macro qu'à une certaine plage (en l'occu rence
J6:AB620, mais je ne sais pas où placer cette sélection.
Ou peut être existe t-il une façon plus simple de faire cela?
Merci d'avance pour votre aide.




Bonjour,

Bien vérifier si il n'existe pas, comme sous Word, un mode validation
des modifications, sous Excel. Un examen attentif des menus déroulants
(ou des rubans selon la version) devrait être éclairant.

--
Avatar
himym
Le jeudi 25 Avril 2013 à 13:41 par himym :
Bonjour,
j'aimerai trouver une macro VBA qui modifie la couleur des cellules
lorsqu'elles sont modifiées (pour savoir si autre autre utilisateur du
fichier à changé quelques chose par exemple) et met un 'x' dans
une colonne pour repérer plus vite les modifications. J'ai donc cette
macro qui marche:

Private Sub Worksheet_Change(ByVal Target As Range)
numlig = Target.Row
If Target.Value = "" Then 'si cellule vide
Target.Interior.ColorIndex = 0 'couleur transparent
'pour la croix
' reste t-il des valeurs
Var = Range("K" & numlig & ":T" &
numlig).Count
If Application.WorksheetFunction.CountA(Range("K" &
numlig & ":T" & numlig)) = 0 Then
Range("J" & numlig) = ""
End If
Exit Sub
End If
Target.Interior.ColorIndex = 45 'color orange
Range("J" & numlig) = "x"
End Sub

Mon problème est qu'une fois une modification faite il n'est plus
possible de revenir en arrière.
Et j'aimerai appliquer cette macro qu'à une certaine plage (en
l'occurence J6:AB620, mais je ne sais pas où placer cette
sélection.
Ou peut être existe t-il une façon plus simple de faire cela?
Merci d'avance pour votre aide.


Mais la modification est possible mais pas le retour en arrière en cas d'erreur. J'ai cru lire que c'est le cas dès qu'une macro est affectée à une page excel
Avatar
Gloops
himym a écrit, le 29/04/2013 10:58 :
Mais la modification est possible mais pas le retour en arrière en ca s d'erreur.
J'ai cru lire que c'est le cas dès qu'une macro est affectée à un e page excel




Et en enlevant la macro ?