Renvoie #Erreur qd cellule vide - Access

Martino_ICI Messages postés 20 Statut Membre -  
Martino_ICI Messages postés 20 Statut Membre -
Bonjour,

Voilà mon code dans l'objet module d'Access (version2000).

Function date_MAJcasto(date_cde As Date, enseigne As String) As String    
If enseigne = "CASTORAMA" Then
date_MAJcasto = date_cde - 1
Else
date_MAJcasto = date_cde
End If
End Function


Celui-ci fonctionne sauf quand date_cde est vide. Il me renvoie alors "#Erreur"
Comment faire pour qu'il n'applique la fonction que lorsque date_cde n'est pas vide.

Par avance merci

11 réponses

Zasami Messages postés 42 Statut Membre 8
 
il faut just tester si la date est vide ou pas autrement dit Null ou non

Function date_MAJcasto(date_cde As Date, enseigne As String) As String

if ( date_cde <>null) then 'Test si la date est vide si oui on fait rien si ne pas vide on exécute l'instruction suivante
If enseigne = "CASTORAMA" Then
date_MAJcasto = date_cde - 1
Else
date_MAJcasto = date_cde
End If
End if
End Function
0
Martino_ICI Messages postés 20 Statut Membre
 
Merci pour ta réponse.

Seulement quand je teste, il fait l'inverse de ce que je demande. C'est-à-dire qu'il me met #Erreur lorsque la cellule est vide et rien lorsque j'ai une date.
0
Zasami Messages postés 42 Statut Membre 8
 
inverse seulement la condition de If au lieu de <> mets un =
0
Martino_ICI Messages postés 20 Statut Membre
 
Et oui, c'est bien ce que je me suis dit. Mais bizarrement, il me renvoie exactement le même résultat.
As-tu une autre solution à me proposer??

Par avance merci
0

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

Posez votre question
Zasami Messages postés 42 Statut Membre 8
 
c étrange , peux tu m'expliquer exactement, tu veux faire quoi? peut-être le problème ne vient pas de ce bout de code: peu tu metre le message d'erreur qui s'affiche..... meme si je comprend pas pour quoi je vai donner une autre solution
Function date_MAJcasto(date_cde As Date, enseigne As String) As String
if ( date_cde =null) then

msgbox ("la date incorrecte : entre une date valide svp")
exit sub ' quitter la fonction sans rien faire
else
If enseigne = "CASTORAMA" Then
date_MAJcasto = date_cde - 1
Else
date_MAJcasto = date_cde
End If
End if
End Function
0
Martino_ICI Messages postés 20 Statut Membre
 
Je vais essayer d'être clair.

J'ai une table dans laquelle j'ai un champ enseigne, un autre ville et en face, un champ date.
Je veux que lorsqu'il trouve dans le champ enseigne "CASTORAMA", il retire un jour à la date qui correspond.
J'ai donc fait une requête ou je prends tout mes champs et dans un champ supplémentaire, j'intègre ma fonction.
Et dans l'absolue, ça marche. Sauf que lorsque je n'ai pas d'enseigne de renseigné et/ou pas de date, il remonte le résultat #Erreur.

En fait, j'ai l'impression qu'il n'accepte pas les cellules vides.
0
Zasami Messages postés 42 Statut Membre 8
 
je comprend pas trop bien , envoi ma ta base par email et je vais voir
0
Martino_ICI Messages postés 20 Statut Membre
 
je te remercie.

La question suivante est bête mais tu peux me communiquer ton adresse mail ou me dire comment te l'envoyer??

par avance merci
0
Zasami Messages postés 42 Statut Membre 8
 
envoi en pièce joint sur nakkar2005@yahoo.fr
0
Martino_ICI Messages postés 20 Statut Membre
 
C'est parti.
Je te remercie.
0
Martino_ICI Messages postés 20 Statut Membre
 
Est-ce que tu as pu regarder??
0