

![]() | Start a set with this search |
![]() | Include this search in one of my sets |
![]() | Exclude this search from one of my sets |
![]() | Permalink to these results Paste this link in email or IM: |
| Atom feed for tracking future search results Paste this URL into your reader: |
3 messages in org.openoffice.fr.progSoustraire un temps| From | Sent On | Attachments |
|---|---|---|
| Michel Grentzinger | Oct 18, 2007 9:45 am | |
| Bernard Marcelly | Oct 18, 2007 12:03 pm | |
| Michel Grentzinger | Oct 18, 2007 1:26 pm |

![]() | Permalink for this message Paste this link in email or IM: |
![]() | Permalink for this thread Paste this link in email or IM: |
| Atom feed for this thread Paste this URL into your reader: |
| Subject: | Soustraire un temps | Actions... |
|---|---|---|
| From: | Michel Grentzinger (mic....@online.fr) | |
| Date: | Oct 18, 2007 9:45:21 am | |
| List: | org.openoffice.fr.prog | |
Bonjour,
Le code suivant donne un comportement que je n'arrive pas à expliquer... Les macros AjouterUneMinute et AjouterUneSeconde fonctionnent sans soucis
EnleverUneSeconde fonctionne mais si je rajoute la ligne avec le print, la boite de dialogue apparaît 2 fois et entre la 1ere et 2ème apparition, 2 secondes sont enlevées avant que la valeur ne soit finallement décrémenté que d'une seconde...
EnleverUneMinute enlève bien une minute mais rajoute 1 seconde...
Je suppose que c'est avec les soustraction de temps que ça passe pas mais je ne voit pas où !
Si quelqu'un peut éclairer ma lanterne
PS : chaque macro est lancé par un bouton et agit sur une cellule contenant une heure.
Option Explicit
Sub ModifierTemps(Temps As Date) Dim oDocument As Object, oFeuille As Object, oSelectionEnCours As Object Dim oCoordonnees As Object, oCelluleEnCours As Object Dim nLigne As Integer, nColonne As Integer
oDocument = ThisComponent oFeuille = oDocument.CurrentController.ActiveSheet oSelectionEnCours = oDocument.CurrentSelection
' Vérification que seule une cellule est sélectionée If oSelectionEnCours.supportsService("com.sun.star.table.Cell") Then ' Récupération des coordonnées de la cellule oCoordonnees = oSelectionEnCours.CellAddress nColonne = oCoordonnees.Column nLigne = oCoordonnees.Row oCelluleEnCours = oFeuille.getCellByPosition(nColonne,nLigne)
'On modifie la valeur oCelluleEnCours.Value = oCelluleEnCours.Value + Temps End If
End Sub
Sub AjouterUneSeconde() Dim TempsAAjouter As Date TempsAAjouter = TimeValue("00:00:01") ModifierTemps(TempsAAjouter) End Sub
Sub AjouterUneMinute() Dim TempsAAjouter As Date TempsAAjouter = TimeValue("00:01:00") ModifierTemps(TempsAAjouter) End Sub
Sub EnleverUneMinute() Dim TempsAEnlever As Date TempsAEnlever = TimeValue("00:01:00") ModifierTemps(-TempsAEnlever) End Sub
Sub EnleverUneSeconde() Dim TempsAEnlever As Date TempsAEnlever = TimeValue("00:00:01") print -TempsAEnlever ModifierTemps(-TempsAEnlever) End Sub
-- Michel Grentzinger OpenPGP key ID : B2BAFAFA Available on http://www.keyserver.net







