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

inserer automatiquement la date de modif d'une cellule

3 réponses
Avatar
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

3 réponses

Avatar
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



Avatar
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







Avatar
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