Rechercher : dans
Par :

Renvoie #Erreur qd cellule vide - Access

Dernière réponse le 4 déc 2008 à 17:44:57 Martino_ICI, le 4 déc 2008 à 11:55:46 
 Signaler ce message aux modérateurs

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
Configuration: Windows XP
Internet Explorer 6.0

Meilleures réponses pour « Renvoie #Erreur qd cellule vide Access » dans :
[Outlook] Réponse du serveur : Erreur 554 - Relay Access denied Voir Votre client de messagerie vous affiche l'erreur suivante : Erreur 554 - Relay Access Denied Ce problème est lié à l'utilisation d'un serveur de courrier sortant (serveur SMTP) sur un domaine n'appartenant pas au fournisseur d'accès. En effet, afin...
PhpMyAdmin - 1045- Access denied for user root@localhost VoirPhpMyAdmin - Access denied for user root’@localhost Cette astuce est destinée à ceux qui ont un problème d’ouverture de PhpMyAdmin (par exemple avec WAMP Server ou EasyPHP) avec l'erreur suivante : #1045- Access denied for user...
[Excel] Colorer des cellules sur conditions VoirIl existe dans Excel des fonctions très pratiques mais peu connues et peu utilisées. Exemple : vous souhaitez qu'une cellule se colore automatiquement en rouge (ou autre mise en forme de police, de bordure, de trame) selon une condition : un...

1

Zasami, le 4 déc 2008 à 12:04:13

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

Répondre à Zasami

2

Martino_ICI, le 4 déc 2008 à 12:59:52

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.

Répondre à Martino_ICI

3

Zasami, le 4 déc 2008 à 13:04:00

Inverse seulement la condition de If au lieu de <> mets un =

Répondre à Zasami

4

Martino_ICI, le 4 déc 2008 à 13:21:10

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

Répondre à Martino_ICI

5

Zasami, le 4 déc 2008 à 13:37:28

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

Répondre à Zasami

6

Martino_ICI, le 4 déc 2008 à 13:52:32

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.

Répondre à Martino_ICI

7

Zasami, le 4 déc 2008 à 13:56:11

Je comprend pas trop bien , envoi ma ta base par email et je vais voir

Répondre à Zasami

8

Martino_ICI, le 4 déc 2008 à 14:18:00

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

Répondre à Martino_ICI

9

Zasami, le 4 déc 2008 à 14:23:00

Envoi en pièce joint sur nakkar2005@yahoo.fr

Répondre à Zasami

10

Martino_ICI, le 4 déc 2008 à 14:26:05

C'est parti.
Je te remercie.

Répondre à Martino_ICI

11

 Martino_ICI, le 4 déc 2008 à 17:44:57

Est-ce que tu as pu regarder??

Répondre à Martino_ICI