si dans menu Outils / Options / onglet calcul / Mode de calcul : Automatique est coché, alors
=MAINTENANT()
valable pour les modifs à la mimine ou par macro ......et malheureusement aussi si on Delete une cellule vide.... -- Amicalement
Jean-François Aubert {Vaudois de la Côte Lémanique}
"CFP" a écrit dans le message de news:bl9l02$tsc$
Bonjour à tous,
Merci de m'apporter votre aide, SVP !!
Quelle formule de calcul me permettrait de connaitre la date de modification d'une feuille Excel.
Mon document Excel est composé de 6 feuilles mais une seule ne m'intéresse quant à la date de modification.
Merci d'avance.
Stéphanie
Jerry Khann
Bonjour,
A priori pas possible avec des formules, mais faisable avec des macros :-)
Voilà le fil conducteur en utilisant des "propriétés personnalisées" que l'on retrouve dans [Menu Fichiers]+[Propriétés]+[Onglet Personnaliser]
Soit: - un classeur Test.xls - contenant Feuil1 - où la case "A1" est celle dont il faut tester le changement de valeur
Tu as dans le VBAProject:
*********************************
[Dossier Microsoft Excel Objets]
*********************************
[Onglet Feuil1]
*********************************
Private Sub Worksheet_Change(ByVal Target As Range) ' ' En cas de changement de valeur dans la feuille "Feuil1" ' et dans ce cas dans la cellule "A1", met à jour la "date" ' en tant que "propriété personnalisée" ' maCible = Range("A1") If maCible = Target Then DateModDoc$ = Format(Date, "d mmmm yyyy") ActiveWorkbook.CustomDocumentProperties("DateModif").Value DateModDoc$ End If End Sub
*********************************
[Onglet ThisWorkbook]
*********************************
Sub Workbook_Open() ' ' A l'ouverture du document, créée la date en "propriété personnalisée" ' ou l'affiche si le document en contient déjà une ' DateModDoc$ = Format(Date, "d mmmm yyyy") If Not (ExistePropriete("DateModif")) Then Call CreePropriete("DateModif", DateModDoc$) Else MsgBox "Dernière modification le " & _ ActiveWorkbook.CustomDocumentProperties("DateModif").Value End If End Sub
*********************************
[Dossier Modules]
*********************************
[Onglet Module1]
*********************************
Sub CreePropriete(nom$, valeur$) ' ' Création de propriétés personnalisées dans le document ' ActiveWorkbook.CustomDocumentProperties.Add _ Name:=nom$, _ LinkToContent:úlse, _ Type:=msoPropertyTypeString, _ Value:=valeur$ End Sub ----------------------------------------------------------- Function ExistePropriete(nom$) As Boolean ' ' Vérifie l'exsitence d'une propriété personnalisée dans le document ' combien = ActiveWorkbook.CustomDocumentProperties.Count elleYest = False compteur = 0 Do While compteur < combien compteur = compteur + 1 If ActiveWorkbook.CustomDocumentProperties(compteur).Name = nom$ Then elleYest = True End If Loop ExistePropriete = elleYest End Function
*********************************
Voilà, ça devrait le faire :-)
A+
^o^ --
Jerry Khann
Adresse invalide: retirer le bouchon _O_ et .invalid
Bonjour,
A priori pas possible avec des formules,
mais faisable avec des macros :-)
Voilà le fil conducteur en utilisant des
"propriétés personnalisées" que l'on retrouve dans
[Menu Fichiers]+[Propriétés]+[Onglet Personnaliser]
Soit:
- un classeur Test.xls
- contenant Feuil1
- où la case "A1" est celle dont il faut tester le changement de valeur
Tu as dans le VBAProject:
*********************************
[Dossier Microsoft Excel Objets]
*********************************
[Onglet Feuil1]
*********************************
Private Sub Worksheet_Change(ByVal Target As Range)
'
' En cas de changement de valeur dans la feuille "Feuil1"
' et dans ce cas dans la cellule "A1", met à jour la "date"
' en tant que "propriété personnalisée"
'
maCible = Range("A1")
If maCible = Target Then
DateModDoc$ = Format(Date, "d mmmm yyyy")
ActiveWorkbook.CustomDocumentProperties("DateModif").Value DateModDoc$
End If
End Sub
*********************************
[Onglet ThisWorkbook]
*********************************
Sub Workbook_Open()
'
' A l'ouverture du document, créée la date en "propriété personnalisée"
' ou l'affiche si le document en contient déjà une
'
DateModDoc$ = Format(Date, "d mmmm yyyy")
If Not (ExistePropriete("DateModif")) Then
Call CreePropriete("DateModif", DateModDoc$)
Else
MsgBox "Dernière modification le " & _
ActiveWorkbook.CustomDocumentProperties("DateModif").Value
End If
End Sub
*********************************
[Dossier Modules]
*********************************
[Onglet Module1]
*********************************
Sub CreePropriete(nom$, valeur$)
'
' Création de propriétés personnalisées dans le document
'
ActiveWorkbook.CustomDocumentProperties.Add _
Name:=nom$, _
LinkToContent:úlse, _
Type:=msoPropertyTypeString, _
Value:=valeur$
End Sub
-----------------------------------------------------------
Function ExistePropriete(nom$) As Boolean
'
' Vérifie l'exsitence d'une propriété personnalisée dans le document
'
combien = ActiveWorkbook.CustomDocumentProperties.Count
elleYest = False
compteur = 0
Do While compteur < combien
compteur = compteur + 1
If ActiveWorkbook.CustomDocumentProperties(compteur).Name = nom$
Then
elleYest = True
End If
Loop
ExistePropriete = elleYest
End Function
*********************************
Voilà, ça devrait le faire :-)
A+
^o^
--
Jerry Khann
Adresse invalide: retirer le bouchon _O_ et .invalid
A priori pas possible avec des formules, mais faisable avec des macros :-)
Voilà le fil conducteur en utilisant des "propriétés personnalisées" que l'on retrouve dans [Menu Fichiers]+[Propriétés]+[Onglet Personnaliser]
Soit: - un classeur Test.xls - contenant Feuil1 - où la case "A1" est celle dont il faut tester le changement de valeur
Tu as dans le VBAProject:
*********************************
[Dossier Microsoft Excel Objets]
*********************************
[Onglet Feuil1]
*********************************
Private Sub Worksheet_Change(ByVal Target As Range) ' ' En cas de changement de valeur dans la feuille "Feuil1" ' et dans ce cas dans la cellule "A1", met à jour la "date" ' en tant que "propriété personnalisée" ' maCible = Range("A1") If maCible = Target Then DateModDoc$ = Format(Date, "d mmmm yyyy") ActiveWorkbook.CustomDocumentProperties("DateModif").Value DateModDoc$ End If End Sub
*********************************
[Onglet ThisWorkbook]
*********************************
Sub Workbook_Open() ' ' A l'ouverture du document, créée la date en "propriété personnalisée" ' ou l'affiche si le document en contient déjà une ' DateModDoc$ = Format(Date, "d mmmm yyyy") If Not (ExistePropriete("DateModif")) Then Call CreePropriete("DateModif", DateModDoc$) Else MsgBox "Dernière modification le " & _ ActiveWorkbook.CustomDocumentProperties("DateModif").Value End If End Sub
*********************************
[Dossier Modules]
*********************************
[Onglet Module1]
*********************************
Sub CreePropriete(nom$, valeur$) ' ' Création de propriétés personnalisées dans le document ' ActiveWorkbook.CustomDocumentProperties.Add _ Name:=nom$, _ LinkToContent:úlse, _ Type:=msoPropertyTypeString, _ Value:=valeur$ End Sub ----------------------------------------------------------- Function ExistePropriete(nom$) As Boolean ' ' Vérifie l'exsitence d'une propriété personnalisée dans le document ' combien = ActiveWorkbook.CustomDocumentProperties.Count elleYest = False compteur = 0 Do While compteur < combien compteur = compteur + 1 If ActiveWorkbook.CustomDocumentProperties(compteur).Name = nom$ Then elleYest = True End If Loop ExistePropriete = elleYest End Function
*********************************
Voilà, ça devrait le faire :-)
A+
^o^ --
Jerry Khann
Adresse invalide: retirer le bouchon _O_ et .invalid