J’aimerai pouvoir créer une colonne dans un "TABLEAU" EXCEL (EXCEL 2021) permettant d’enregistrer la date de création de chaque ligne. J’ai cherché un peu et est fait j’ai fait cette petite fonction VBA qui fonctionne bien.
Function AUJOURDHUI_STATIC()
AUJOURDHUI_STATIC = Now
End Function
Et dans les cellules de la colonne concernée du Tableau j'ai mis : = SI(
ET(ESTVIDE(F20);ESTVIDE(B20));"";AUJOURDHUI_STATIC()
)
qui ne doit pas s'exécuter de nouveau puisque Fxx et Bxx ne sont pas vides. Je n'utilise pas les références @ car ça ne marche pas : toutes les lignes du tableau se mettent à jour quand une ligne se met à jour !
Sauf que lorsque j’exécute une MACRO ou que je fais un tri sur l’une des colonnes du Tableau toutes les cellules de la colonne se remettent à jour ! Et donc impossible de garder cette date de création de chaque ligne du tableau !
Une variante si ta date est n'importe ou sur ta feuille :
VB:
Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Target.Value = Target.Value
Cancel = True
End Sub
Tu double clic sur la date pour la figer attention si tu le fais sur une cellule qui contient une formule tu vas l'écraser...
Si la date est par exemple sur la colonne C on peut contrôler le double clic uniquement sur cette colonne
VB:
Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Application.Intersect(Target, Range("C:C")) Is Nothing Then '<== La colonne est à adapter
Target.Value = Target.Value
Cancel = True
End If
End Sub
@DenCdr
Tu as eu 3 réponses et aucun retour de ta part alors que tu es connecté sur le forum et que tu as vu les réponses.
Ni c'est bon pour le code de x ou y ou c'est pas bon ou c'est pas ce que je recherche car j'aurais voulu plutôt ceci ou bien cela ...
Rien de rien .... c'est pas bien cool
Il ne faudra pas t'étonner si certain intervenant ne se précipite pas trop pour te répondre la prochaine fois.
Bonjour,
Désolé mais je ne pouvait pas répondre de suite.
Merci pour toutes vos réponses qui ont porté leurs fruits.
J'ai écrit un petit programme qui écrit pour une ligne d'un tableau :
- la date de modification de la ligne
- et un numéro séquentiel de création ou modification à partir d'un compteur
Et qui reste inchangé si l'on tri le tableau (OUF !).
Il me reste qqc à faire, mais je n'ai pas trouvé ?
Quelqu'un peut-il m'aider SVP. Voir dans le VBA (Feuille1) dans le fichier joint :
' ***** A FAIRE ***** remplacer "Target.Column + 2" par le non de la colonne "Col_Date_Saisie" :
Cells(Target.Row, Target.Column + 2).Value = Now