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.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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.
--
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.
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.
--
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
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
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
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 ?
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
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