[Calc]Indique la date de modification d'une cellule

Vos meilleures macros et portions de code sont publiées dans cette section.
Aucun support sur une question de programmation ici !

Modérateur : Vilains modOOs

Règles du forum
Aucune question dans cette section !
Celle-ci rassemble les meilleures macros et portions de code. Vous pouvez en revanche commenter ou argumenter le code exposé. Vous pouvez même remercier l'auteur (cela fait toujours plaisir) en indiquant par exemple dans quel cadre ou contexte vous en avez eu l'utilité.
Si vous avez à poster quelque chose, faites-le depuis la section Macros et API et demandez à un modérateur de l'y déplacer.
kolodz
Fraîchement OOthentifié
Messages : 4
Inscription : 25 oct. 2008 13:01

[Calc]Indique la date de modification d'une cellule

Message par kolodz »

Suite à la lecture du sujet suivant:
http://user.services.openoffice.org/fr/ ... =4&t=12769
J'ai voulu crée la code voulu.
C'est à dire une fonction qui renvoie la date quand une cellule est modifié.
Voici le code de la fonction :

Code : Tout sélectionner

function ObsCellDate(CellObs) as date
'La fonction revoit une date
'La suite est une version modifié  de InsertDateIntoCell
'de l'Auteur : Andrew Pitonyak 
Dim oDesktop As Object, oController As Object, oSelection As Object
Dim doc As Object
oDesktop = createUnoService("com.sun.star.frame.Desktop")
oController = oDesktop.CurrentFrame.Controller
doc = oController.Model
If doc.SupportsService("com.sun.star.sheet.SpreadsheetDocument") Then
' Définit la valeur de la date
oFunction = CreateUnoService("com.sun.star.sheet.FunctionAccess")
oFunction.NullDate = doc.NullDate
Dim aEmpty()
ObsCellDate = oFunction.callFunction("NOW", aEmpty())
Else
'Merci Russ Phillips pour avoir remarqué que je devais déplacer
' la commande Else vers le bas !
MsgBox "Cette macro doit être lancée dans un document tableur"
End If
End function