[Résolu] [Calc] insérer une date

Discussions et questions sur tout ce qui concerne la programmation tous langages et tous modules confondus.

Modérateur : Vilains modOOs

Règles du forum
:alerte: Balisage obligatoire dans cette section !
Aidez-nous à vous aider au mieux en balisant correctement votre question : reportez-vous sur les règles de cette section avant de poster !
foay
Membre OOrganisé
Membre OOrganisé
Messages : 57
Inscription : 24 mars 2014 22:06
Localisation : essone, IdF, France, Europe, terre, ...

[Résolu] [Calc] insérer une date

Message par foay »


La modération vous a écrit: Pour la bonne tenue de ce forum, veillez à respecter la syntaxe des balises (première lettre en majuscule puis le reste en minuscules, le tout entre crochets). [Calc] et non [calc]. Nous l'avons fait pour vous.

bonjour,

il a quelque temps j'avais posté un message car je voulais entrer automatiquement une date quand une autre cellule était remplie
(http://ooo-forums.apache.org/fr/forum/v ... 3ad756b64a)
je me retrouve avec le même problème aujourd'hui, et alors que j'avais compris la dernière fois (et que à ça marche toujours sur mon fichier)
je ne comprends plus du tout comment faire, ni comment intégrer la macro a un nouveau classeur, ni comment la déclenché (et voir comment l'adapté)

alors je sais bien que ce forum n'est pas une salle de cours, mais un peu d'aide me ferait du bine et m'éviterais de tourner en bourrique :marto:

accessoirement, il y a t'il un bouquin qui traite des macro sur calc, ou sur libre office ?


merci de votre aide

en PJ un petit tableau "fictif" le but entré le nom des membres d'une association, et que leur date d'inscriptions (la date fixe du jour) s'inscrive automatiquement.
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Dernière modification par micmac le 30 mai 2017 23:17, modifié 3 fois.
Raison : [Résolu] remplace [RESOLU]
libre office 7.3.6.2
W10
Avatar de l’utilisateur
Churay
ManitOOu
ManitOOu
Messages : 2668
Inscription : 30 avr. 2009 04:54
Localisation : CATALUNYA

Re: [calc] macro date

Message par Churay »

Bonsoir,

Si un nom est saisi en colonne A, la date du jour est mise en colonne C (de la même ligne)
liste membres test.ods
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
cOOordialement
---
AOO 4.0.1 W7-PRO & LO 5.1.6.2 Debian 7.8 & Ubuntu 16.04 LTS
---
F1 : ça aide...
XRay + SDK :super:
---
Quand le NOT CONFIRMED sera corrigé (OOo et LO) , je serai heureux...
Avatar de l’utilisateur
ThierryT
Membre enthOOusiaste
Membre enthOOusiaste
Messages : 467
Inscription : 10 nov. 2012 17:05

Re: [calc] macro date

Message par ThierryT »

Fichier modifié en suivant les indications de Piaf dans le lien fourni (insertion de la macro dans le fichier, modification de la macro pour traiter la colonne C seulement et affection de la macro à l'évènement feuille "Contenu modifié).
Pour que la macro fonctionne, il faut saisir quelque chose dans la cellule concernée.

Pour information, en Basic, les numéros de colonnes commence à zéro. La colonne A a donc la valeur 0, colonne B valeur 1 et colonne C valeur 2.
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
LibreOffice 6.1.3.2 x64 / AOO 4.1.5 (x86) sous Windows 8.1 (x64)
Java 8.x (x64 et x86), Firefox, Thunderbird,....

“Celui qui aime à apprendre est bien près du savoir.” (Confusius)
Comment baliser Résolu
Avatar de l’utilisateur
martinbrait
InconditiOOnnel
InconditiOOnnel
Messages : 753
Inscription : 09 avr. 2013 07:15
Localisation : T'as pas dit bonjour, merci et à bientot !

Re: [Calc] insérer une date

Message par martinbrait »

Bonjour Foay,

Cette version reprend le meilleur de Churay et de ThierryT :

- Date à la place de Date et Heure ( version de Churay)
- Détection de la modification en colonne A, comme demandé (inactif chez ThierryT)

- ajoute un comportement d'effacement de la ligne entière, lors de l'appui sur la touche [suppr],
sur la sélection du nom, en colonne A.

Code : Tout sélectionner

'Option Explicit

Sub WriteModificationDate(evt)   
Dim column As Integer, row As Integer, cell As Object
'Seulement si une seule cellule est modifiée
   If evt.SupportsService("com.sun.star.sheet.SheetCell") Then
   'si le curseur se situe dans la colonne A
      If evt.cellAddress.column = 0 Then

         row = evt.cellAddress.row 'même ligne que la cellule modifiée
         'on trouve la cellule à remplir (même feuille)
         cellColB = evt.spreadSheet.GetCellByPosition(1,row)
         cellColC = evt.spreadSheet.GetCellByPosition(2,row)
         'si on inscrit une valeur dans la colonne A     
         If evt.String <> "" Then
            'on y met la date du jour, en colonne C
            
            	'avec l'événement "modifié", la sélection courante se réduit toujours à une seule cellule
	            'à condition toutefois qu'une date ne soit pas déjà inscrite (pour éviter de redater lorsque l'on parcourt les enregistrements en colonne A
	            If Len(cellColC.string)=0 Then
	            	'MsgBox "cellule modifiee !"
	            	cellColC.value = Date
	            	'j'ai choisi d'écrire la date plutôt que l'heure, ça me semble plus juste.
	            	End If
	         		Else
	            'sinon on efface, en partant du principe qu'on a effacé l'enregistrement dans la colonne A
	            cellColB.String = "" 
	            cellColC.String = ""   
        		 End If
      End If
      'sinon on ne fait rien
   End If
End Sub
'+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
TUTOS
https://www.openoffice.org/fr/Documenta ... ctions.pdf
https://wiki.documentfoundation.org/ima ... ctions.pdf
https://www.openoffice.org/fr/Documenta ... s_calc.pdf
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Dernière modification par micmac le 30 mai 2017 20:17, modifié 2 fois.
Raison : Liens externes neutralisés
LibreOffice version 5.4.7.2.M6 (x64)
Windows 10
+
LibreOffice version 5.4.7.2.M6 (x64)
Windows 7

#HSQL Database Engine 1.8.0
version=1.8.0

Locale : fr-FR (fr_FR)

Obligation de version


Bonjour, merci et à bientôt !
foay
Membre OOrganisé
Membre OOrganisé
Messages : 57
Inscription : 24 mars 2014 22:06
Localisation : essone, IdF, France, Europe, terre, ...

Re: [Calc] insérer une date

Message par foay »

grand merci a tous
vous êtes même allez plus loin que ce que je demandais (effacement de la ligne par exemple) :super:

ce que j'arrivais pas a faire c'était de "copier" la macro (a l'aide de outil->macro->gérer->...)
mais voila j'ai a nouveaux compris, je vais essayer de me le rentrer dans la tète une fois pour toute ! :marto:

j'aimerais bien apprendre a créer moi même des macro, mais c'est une autre histoire, et un autre post !
libre office 7.3.6.2
W10
janothd
Fraîchement OOthentifié
Messages : 3
Inscription : 27 avr. 2018 13:15

Re: [Résolu] [Calc] insérer une date

Message par janothd »

Bonjour je suis un nouvel utilisateur d'Open Office. Quand j'utilisais Excel, lorsque je mettais le jour et le mois (31.04 par exemple), l'année encours apparaissait automatiquement. Comment faire Avec Open Office?
Un grand merci pour votre réponse et bonne journée
Openoffice 4.1.5 windows 10
Avatar de l’utilisateur
Bidouille
RespOOnsable forum
RespOOnsable forum
Messages : 12219
Inscription : 08 nov. 2005 16:23
Localisation : Caen, France

Re: [Résolu] [Calc] insérer une date

Message par Bidouille »

Bonjour,

Nous nous devons de verrouiller ce fil de discussion. Nous vous rappelons les règles de ce forum et notamment la n° 7
Un sujet = le problème d'une seule personne

Comme vous avez pu le lire, ce sujet est désormais résolu. Si vous avez également ce problème, c'est que ce dernier est différent. Votre configuration n'est pas la même que celle de l'auteur de ce fil qui est sous LibreOffice.

Dans ce cas et pour des raisons de lisibilité sur ce forum, nous vous demandons de créer une nouvelle question en rappelant que vous avez le même problème que dans ce fil.