[Résolu][Calc] Récupération Date sous format 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 !
boulauventre
Membre OOrganisé
Membre OOrganisé
Messages : 80
Inscription : 06 juin 2016 20:23

[Résolu][Calc] Récupération Date sous format Date

Message par boulauventre »

Bonjour,

J'ai dans mon code, une macro qui me permet de récupérer une information, une date en l’occurrence.

Malheureusement, lorsque je récupere cette date, elle n'est pas sous le format date mais "41236,21542365412".

Que dois-je rajouter à mon code afin de pouvoir récupérer la date comme elle est affiché dans mon tableur ?

Merci d'avance :D


Voici mon code:

Code : Tout sélectionner

Private Recherche as String, DatePerception as String
'Private args(0) as new com.sun.star.beans.PropertyValue
Private args as Object
Private oFuncAcces As Object
Private Matrice As Object, Valeur As String

Sub RechercheSurNumSerie

	oFuncAcces = CreateUnoService("com.sun.star.sheet.FunctionAccess")
	Valeur = "1800" 'Je recherche la valeur 
	Matrice = ThisComponent.sheets.getByName("Feuille1").GetCellRangeByName("C2:E10")
	args = array(Valeur,Matrice,3,0)

	Recherche = oFuncAcces.callFunction("VLOOKUP",args)


End Sub

Sub Test


Call RechercheSurNumSerie
DatePerception = Recherche
Print "La date est " & DatePerception & " !"
		
				
End Sub

En PJ le fichier test :super:
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Dernière modification par boulauventre le 10 oct. 2019 12:07, modifié 1 fois.
libre office 6.4.4 sous Windows 10
Avatar de l’utilisateur
OOotremer971
ManitOOu
ManitOOu
Messages : 2744
Inscription : 16 avr. 2010 13:31

Re: [Calc] Récupération Date sous format Date

Message par OOotremer971 »

Bonjour,
boulauventre a écrit :lorsque je récupere cette date, elle n'est pas sous le format date mais "41236,21542365412".
ET ce n'est directement lié à ta macro mais au fait que tu utilises la fonction RECHERCHEV(). Si tu fais le test directement dans une cellule tu t’apercevras que le résultat est identique :

Code : Tout sélectionner

=RECHERCHEV(C2;C2:E9;3;0)
Par contre si tu utilise la fonction EQUIV() pour récupérer le numéro de ligne où se trouve ton critère de recherche, tu peux plus facilement récupérer la valeur de la colonne concernée sur cette même ligne :

Code : Tout sélectionner

oFuncAcces = CreateUnoService("com.sun.star.sheet.FunctionAccess")
Valeur = "1800" 'Je recherche la valeur 
Matrice = ThisComponent.sheets.getByName("Feuille1").GetCellRangeByName("C2:C10")
args = array(Valeur,Matrice,0)
ligne = oFuncAcces.callFunction("MATCH",args)
Recherche = ThisComponent.sheets.getByName("Feuille1").GetCellByPosition(4,ligne).String
A+
En principe, toujours à jour des dernières versions dites stables
AOO
LibreOffice
Debian 10 et 11
boulauventre
Membre OOrganisé
Membre OOrganisé
Messages : 80
Inscription : 06 juin 2016 20:23

Re: [Calc] Récupération Date sous format Date

Message par boulauventre »

Bonjour OOotremer971

Merci pour ta réponse, je ne connaissais pas cette fonction "MATCH" qui fonctionne parfaitement.

Merci beaucoup :bravo:
libre office 6.4.4 sous Windows 10
Avatar de l’utilisateur
Dude
IdOOle de la suite
IdOOle de la suite
Messages : 25203
Inscription : 03 mars 2006 07:45
Localisation : 127.0.0.1

Re: [Calc] Récupération Date sous format Date

Message par Dude »

Salut,
boulauventre a écrit : je ne connaissais pas cette fonction "MATCH" qui fonctionne parfaitement
Relis ce que t'écrit OOotremer971.
MATCH est la traduction en anglais du EQUIV.
Obligatoire lorsqu'on veut utiliser des fonctions par programmation.