inserer automatiquement la date de modif d'une cellule
3 réponses
AB
Bonjour à tous,
J'ai des données en colonne B. Je voudrais, à chaque modification d'une
cellule en colonne B, que s'inscrive, sur la ligne correspondante, en
colonne C, la date de la modification.
Et cela quelle que soit la nature de la modif (en l'occurrence, une simple
modif de la couleur de fond de la cellule en colonne B).
Possible ? Sûrement...mais pas pour moi.
AB
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
SL
Bonjour
Il me semble qu'un changement de couleur dans une cellule ne génère aucun événement donc il n'est pas possible de lier la valeur de la colonne C au changement de couleur de la colonne B
Une solution peut-être serait de stocker en colonne D le n° de la couleur de la colonne B et de vérifier avant chaque fermeture que le numéro n'a pas changé. Et si c'est le cas, modifier la date de C. en nommant "zone" la plage B1:Bx
Private Sub Workbook_BeforeClose(Cancel As Boolean) For Each c In Range("zone") If c.Offset(0, 2) <> c.Interior.ColorIndex Then c.Offset(0, 2) = c.Interior.ColorIndex c.Offset(0, 1) = Now End If Next End Sub
Stéphane
"AB" a écrit dans le message de news:
Bonjour à tous,
J'ai des données en colonne B. Je voudrais, à chaque modification d'une cellule en colonne B, que s'inscrive, sur la ligne correspondante, en colonne C, la date de la modification. Et cela quelle que soit la nature de la modif (en l'occurrence, une simple modif de la couleur de fond de la cellule en colonne B). Possible ? Sûrement...mais pas pour moi. AB
Bonjour
Il me semble qu'un changement de couleur dans une cellule ne génère aucun
événement
donc il n'est pas possible de lier la valeur de la colonne C au changement
de couleur de la colonne B
Une solution peut-être serait de stocker en colonne D le n° de la couleur de
la colonne B et de vérifier avant chaque fermeture que le numéro n'a pas
changé. Et si c'est le cas, modifier la date de C.
en nommant "zone" la plage B1:Bx
Private Sub Workbook_BeforeClose(Cancel As Boolean)
For Each c In Range("zone")
If c.Offset(0, 2) <> c.Interior.ColorIndex Then
c.Offset(0, 2) = c.Interior.ColorIndex
c.Offset(0, 1) = Now
End If
Next
End Sub
Stéphane
"AB" <spamophobe1@marseille.com> a écrit dans le message de news:
e39ohKGxFHA.2652@TK2MSFTNGP14.phx.gbl...
Bonjour à tous,
J'ai des données en colonne B. Je voudrais, à chaque modification d'une
cellule en colonne B, que s'inscrive, sur la ligne correspondante, en
colonne C, la date de la modification.
Et cela quelle que soit la nature de la modif (en l'occurrence, une simple
modif de la couleur de fond de la cellule en colonne B).
Possible ? Sûrement...mais pas pour moi.
AB
Il me semble qu'un changement de couleur dans une cellule ne génère aucun événement donc il n'est pas possible de lier la valeur de la colonne C au changement de couleur de la colonne B
Une solution peut-être serait de stocker en colonne D le n° de la couleur de la colonne B et de vérifier avant chaque fermeture que le numéro n'a pas changé. Et si c'est le cas, modifier la date de C. en nommant "zone" la plage B1:Bx
Private Sub Workbook_BeforeClose(Cancel As Boolean) For Each c In Range("zone") If c.Offset(0, 2) <> c.Interior.ColorIndex Then c.Offset(0, 2) = c.Interior.ColorIndex c.Offset(0, 1) = Now End If Next End Sub
Stéphane
"AB" a écrit dans le message de news:
Bonjour à tous,
J'ai des données en colonne B. Je voudrais, à chaque modification d'une cellule en colonne B, que s'inscrive, sur la ligne correspondante, en colonne C, la date de la modification. Et cela quelle que soit la nature de la modif (en l'occurrence, une simple modif de la couleur de fond de la cellule en colonne B). Possible ? Sûrement...mais pas pour moi. AB
AB
Bonjour, et merci de t'intéresser au problème, Il me semble que la solution que tu proposes fonctionnerait à la fermeture du document, alors que je cherche à avoir le résultat dès modification de la couleur... AB
"SL" a écrit dans le message de news:
Bonjour
Il me semble qu'un changement de couleur dans une cellule ne génère aucun événement donc il n'est pas possible de lier la valeur de la colonne C au changement de couleur de la colonne B
Une solution peut-être serait de stocker en colonne D le n° de la couleur de la colonne B et de vérifier avant chaque fermeture que le numéro n'a pas changé. Et si c'est le cas, modifier la date de C. en nommant "zone" la plage B1:Bx
Private Sub Workbook_BeforeClose(Cancel As Boolean) For Each c In Range("zone") If c.Offset(0, 2) <> c.Interior.ColorIndex Then c.Offset(0, 2) = c.Interior.ColorIndex c.Offset(0, 1) = Now End If Next End Sub
Stéphane
"AB" a écrit dans le message de news:
Bonjour à tous,
J'ai des données en colonne B. Je voudrais, à chaque modification d'une cellule en colonne B, que s'inscrive, sur la ligne correspondante, en colonne C, la date de la modification. Et cela quelle que soit la nature de la modif (en l'occurrence, une simple modif de la couleur de fond de la cellule en colonne B). Possible ? Sûrement...mais pas pour moi. AB
Bonjour, et merci de t'intéresser au problème,
Il me semble que la solution que tu proposes fonctionnerait à la fermeture
du document, alors que je cherche à avoir le résultat dès modification de la
couleur...
AB
"SL" <nospam_sl69@laposte.net> a écrit dans le message de news:
OcKgHzPxFHA.2540@TK2MSFTNGP09.phx.gbl...
Bonjour
Il me semble qu'un changement de couleur dans une cellule ne génère aucun
événement
donc il n'est pas possible de lier la valeur de la colonne C au changement
de couleur de la colonne B
Une solution peut-être serait de stocker en colonne D le n° de la couleur
de la colonne B et de vérifier avant chaque fermeture que le numéro n'a
pas changé. Et si c'est le cas, modifier la date de C.
en nommant "zone" la plage B1:Bx
Private Sub Workbook_BeforeClose(Cancel As Boolean)
For Each c In Range("zone")
If c.Offset(0, 2) <> c.Interior.ColorIndex Then
c.Offset(0, 2) = c.Interior.ColorIndex
c.Offset(0, 1) = Now
End If
Next
End Sub
Stéphane
"AB" <spamophobe1@marseille.com> a écrit dans le message de news:
e39ohKGxFHA.2652@TK2MSFTNGP14.phx.gbl...
Bonjour à tous,
J'ai des données en colonne B. Je voudrais, à chaque modification d'une
cellule en colonne B, que s'inscrive, sur la ligne correspondante, en
colonne C, la date de la modification.
Et cela quelle que soit la nature de la modif (en l'occurrence, une
simple modif de la couleur de fond de la cellule en colonne B).
Possible ? Sûrement...mais pas pour moi.
AB
Bonjour, et merci de t'intéresser au problème, Il me semble que la solution que tu proposes fonctionnerait à la fermeture du document, alors que je cherche à avoir le résultat dès modification de la couleur... AB
"SL" a écrit dans le message de news:
Bonjour
Il me semble qu'un changement de couleur dans une cellule ne génère aucun événement donc il n'est pas possible de lier la valeur de la colonne C au changement de couleur de la colonne B
Une solution peut-être serait de stocker en colonne D le n° de la couleur de la colonne B et de vérifier avant chaque fermeture que le numéro n'a pas changé. Et si c'est le cas, modifier la date de C. en nommant "zone" la plage B1:Bx
Private Sub Workbook_BeforeClose(Cancel As Boolean) For Each c In Range("zone") If c.Offset(0, 2) <> c.Interior.ColorIndex Then c.Offset(0, 2) = c.Interior.ColorIndex c.Offset(0, 1) = Now End If Next End Sub
Stéphane
"AB" a écrit dans le message de news:
Bonjour à tous,
J'ai des données en colonne B. Je voudrais, à chaque modification d'une cellule en colonne B, que s'inscrive, sur la ligne correspondante, en colonne C, la date de la modification. Et cela quelle que soit la nature de la modif (en l'occurrence, une simple modif de la couleur de fond de la cellule en colonne B). Possible ? Sûrement...mais pas pour moi. AB
SL
Bonjour
Cela n'est pas possible : un changement de couleur dans une cellule ne génère aucun événement.
il faut mettre le code dans Private Sub Worksheet_SelectionChange(ByVal Target As Range) For Each c In Range("zone") If c.Offset(0, 2) <> c.Interior.ColorIndex Then c.Offset(0, 2) = c.Interior.ColorIndex c.Offset(0, 1) = Now End If Next End Sub
lorsque tu changes cellule, l'événement se déclenchera MAIS PAS AU CHANGEMENT DE COULEUR (si tu sauves et tu quittes ton fichier sans changer de cellule, pas de modification de même si tu changes de feuille) Peut-être sinon mettre ce code dans tout les événements possibles.
Stéphane
"AB" a écrit dans le message de news:
Bonjour, et merci de t'intéresser au problème, Il me semble que la solution que tu proposes fonctionnerait à la fermeture du document, alors que je cherche à avoir le résultat dès modification de la couleur... AB
"SL" a écrit dans le message de news:
Bonjour
Il me semble qu'un changement de couleur dans une cellule ne génère aucun événement donc il n'est pas possible de lier la valeur de la colonne C au changement de couleur de la colonne B
Une solution peut-être serait de stocker en colonne D le n° de la couleur de la colonne B et de vérifier avant chaque fermeture que le numéro n'a pas changé. Et si c'est le cas, modifier la date de C. en nommant "zone" la plage B1:Bx
Private Sub Workbook_BeforeClose(Cancel As Boolean) For Each c In Range("zone") If c.Offset(0, 2) <> c.Interior.ColorIndex Then c.Offset(0, 2) = c.Interior.ColorIndex c.Offset(0, 1) = Now End If Next End Sub
Stéphane
"AB" a écrit dans le message de news:
Bonjour à tous,
J'ai des données en colonne B. Je voudrais, à chaque modification d'une cellule en colonne B, que s'inscrive, sur la ligne correspondante, en colonne C, la date de la modification. Et cela quelle que soit la nature de la modif (en l'occurrence, une simple modif de la couleur de fond de la cellule en colonne B). Possible ? Sûrement...mais pas pour moi. AB
Bonjour
Cela n'est pas possible : un changement de couleur dans une cellule ne
génère aucun événement.
il faut mettre le code dans
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
For Each c In Range("zone")
If c.Offset(0, 2) <> c.Interior.ColorIndex Then
c.Offset(0, 2) = c.Interior.ColorIndex
c.Offset(0, 1) = Now
End If
Next
End Sub
lorsque tu changes cellule, l'événement se déclenchera MAIS PAS AU
CHANGEMENT DE COULEUR (si tu sauves et tu quittes ton fichier sans changer
de cellule, pas de modification de même si tu changes de feuille)
Peut-être sinon mettre ce code dans tout les événements possibles.
Stéphane
"AB" <spamophobe1@marseille.com> a écrit dans le message de news:
uF1o9eByFHA.1168@TK2MSFTNGP10.phx.gbl...
Bonjour, et merci de t'intéresser au problème,
Il me semble que la solution que tu proposes fonctionnerait à la fermeture
du document, alors que je cherche à avoir le résultat dès modification de
la couleur...
AB
"SL" <nospam_sl69@laposte.net> a écrit dans le message de news:
OcKgHzPxFHA.2540@TK2MSFTNGP09.phx.gbl...
Bonjour
Il me semble qu'un changement de couleur dans une cellule ne génère aucun
événement
donc il n'est pas possible de lier la valeur de la colonne C au
changement de couleur de la colonne B
Une solution peut-être serait de stocker en colonne D le n° de la couleur
de la colonne B et de vérifier avant chaque fermeture que le numéro n'a
pas changé. Et si c'est le cas, modifier la date de C.
en nommant "zone" la plage B1:Bx
Private Sub Workbook_BeforeClose(Cancel As Boolean)
For Each c In Range("zone")
If c.Offset(0, 2) <> c.Interior.ColorIndex Then
c.Offset(0, 2) = c.Interior.ColorIndex
c.Offset(0, 1) = Now
End If
Next
End Sub
Stéphane
"AB" <spamophobe1@marseille.com> a écrit dans le message de news:
e39ohKGxFHA.2652@TK2MSFTNGP14.phx.gbl...
Bonjour à tous,
J'ai des données en colonne B. Je voudrais, à chaque modification d'une
cellule en colonne B, que s'inscrive, sur la ligne correspondante, en
colonne C, la date de la modification.
Et cela quelle que soit la nature de la modif (en l'occurrence, une
simple modif de la couleur de fond de la cellule en colonne B).
Possible ? Sûrement...mais pas pour moi.
AB
Cela n'est pas possible : un changement de couleur dans une cellule ne génère aucun événement.
il faut mettre le code dans Private Sub Worksheet_SelectionChange(ByVal Target As Range) For Each c In Range("zone") If c.Offset(0, 2) <> c.Interior.ColorIndex Then c.Offset(0, 2) = c.Interior.ColorIndex c.Offset(0, 1) = Now End If Next End Sub
lorsque tu changes cellule, l'événement se déclenchera MAIS PAS AU CHANGEMENT DE COULEUR (si tu sauves et tu quittes ton fichier sans changer de cellule, pas de modification de même si tu changes de feuille) Peut-être sinon mettre ce code dans tout les événements possibles.
Stéphane
"AB" a écrit dans le message de news:
Bonjour, et merci de t'intéresser au problème, Il me semble que la solution que tu proposes fonctionnerait à la fermeture du document, alors que je cherche à avoir le résultat dès modification de la couleur... AB
"SL" a écrit dans le message de news:
Bonjour
Il me semble qu'un changement de couleur dans une cellule ne génère aucun événement donc il n'est pas possible de lier la valeur de la colonne C au changement de couleur de la colonne B
Une solution peut-être serait de stocker en colonne D le n° de la couleur de la colonne B et de vérifier avant chaque fermeture que le numéro n'a pas changé. Et si c'est le cas, modifier la date de C. en nommant "zone" la plage B1:Bx
Private Sub Workbook_BeforeClose(Cancel As Boolean) For Each c In Range("zone") If c.Offset(0, 2) <> c.Interior.ColorIndex Then c.Offset(0, 2) = c.Interior.ColorIndex c.Offset(0, 1) = Now End If Next End Sub
Stéphane
"AB" a écrit dans le message de news:
Bonjour à tous,
J'ai des données en colonne B. Je voudrais, à chaque modification d'une cellule en colonne B, que s'inscrive, sur la ligne correspondante, en colonne C, la date de la modification. Et cela quelle que soit la nature de la modif (en l'occurrence, une simple modif de la couleur de fond de la cellule en colonne B). Possible ? Sûrement...mais pas pour moi. AB