Fonction au format date (VBA)

Résolu
Frappe Misere Messages postés 2702 Statut Membre -  
Frappe Misere Messages postés 2702 Statut Membre -
Bonjour,
une fonction au format date : function pouet(date1, date2) as date
peut elle renvoyer une valeur nulle ?
merci
A voir également:

6 réponses

Ivan-hoe Messages postés 433 Date d'inscription   Statut Membre Dernière intervention   309
 
Bonjour FM,
normalement, oui, une date (même renvoyée par une fonction) peut être nulle.
Le mieux est de faire un test, non ?
I.
0
Frappe Misere Messages postés 2702 Statut Membre 568
 
bah justement, ça a fonctionné, il y a quelques temps et il me semble que grace aux mises à jour du merveilleux service informatique, ça ne fonctionne plus.
le probleme est que je ne peux pas avoir le detail des maj et le peu d'interlocuteurs que j ai ne savent rien :)
je penche pour une maj du moteur jet, mais dans le doute...
je reste bien embeté avec ma fonction qui me renvoit 0 là ou je veux null.
0
Ivan-hoe Messages postés 433 Date d'inscription   Statut Membre Dernière intervention   309
 
et si tu déclares ta fonction en Variant au lieu de Date ?
0
Ivan-hoe Messages postés 433 Date d'inscription   Statut Membre Dernière intervention   309
 
FM, j'avais mal interprété ta question : par valeur nulle, je compenais =0. Une fonction date qui renvoie Null ? ça ne me dit rien ; je me rallie à tes pauvres interlocuteurs qui ne savent rien. Désolé.
0
Frappe Misere Messages postés 2702 Statut Membre 568
 
j'y ai pensé mais le souci c'est que apres je ne peux plus efectuer de tri sur mes dates puisqu il les traite comme du texte.
je pourrais reformuler ma question :
comment avoir une fonction me renvoyant une donnée au format date ou une valeur nulle ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Ivan-hoe Messages postés 433 Date d'inscription   Statut Membre Dernière intervention   309
 
Salut !
as-tu trouvé une solution, depuis le temps ? sinon, essaie donc la bidouille suvante, en déclarant ta fonction en Variant et en renvoyant le résultat non nul sous forme de date (avec CDate)

Function Pouet(date1,date2) As Variant
Pouet = date1 + date2
If Pouet = 0 Then
Pouet = Empty
Else
Pouet = CDate(DDA)
End If
End Function
0
Frappe Misere Messages postés 2702 Statut Membre 568
 
j'y ai pensé mais la foncion pouet reste de type variant, donc ta date est repassée au format variant.
pour résoudre ce probleme, j'ai fait 2 fonctions, une premiere de type variant, appelée par la 2e de format date qui ne fait que changer le type.
0