Valeur par défaut

quecdur Messages postés 22 Date d'inscription mercredi 27 décembre 2006 Statut Membre Dernière intervention 22 décembre 2010 - 28 janv. 2008 à 17:47
LIBRE_MAX Messages postés 1402 Date d'inscription mardi 1 mai 2007 Statut Membre Dernière intervention 7 octobre 2012 - 29 janv. 2008 à 12:38
Bonjour,
Sur access, j'ai créer une table clients, et une table factures et paiements.
Je peux ainsi faire mes factures et saisir les paiements de mes clients.
J'ai fait un état "créances clients" dans lequel je souhaite faire apparaître, à un instant T, la liste de des factures et des paiements non lettrés (sous forme de deux colonnes DEBIT et CREDIT).
J'ai mis deux  zones de teste indépendantes dans lesquelles je calcule de total de chaque une des deux colonnes.
Et là, PROBLEME :
Lorsque mon client n'a effectué aucun payement sur la période, ma cellule reste vide, alors que je voudrais y voir apparaître un simple : 0,00.
Dans les propriétés de la zone de texte, j'ai mis :
Source Contrôle=(Somme([MontantPaiement])="";"0,00";Somme([MontantPaiement]))
MAIS CELLA NE MARCHE PAS !!!!
Aidez-moi s'il vous plait.

7 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
28 janv. 2008 à 17:57
Salut
Essaye de faire le même test mais avec "Is Null" :
   Source Contrôle= (Somme([MontantPaiement])= vbNullString ;"0,00";Somme([MontantPaiement]))
ou encore de tester la valeur de la cellule (celle-là marchera à tous les coups) :
   Source Contrôle =(Val(Somme([MontantPaiement]))=0;"0,00";Somme([MontantPaiement]))

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
quecdur Messages postés 22 Date d'inscription mercredi 27 décembre 2006 Statut Membre Dernière intervention 22 décembre 2010
28 janv. 2008 à 18:10
Merci pour tes propositions.
Mais : j'obtiens #Erreur dans ma zone de texte dans les deux cas.
La 2nd solution que tu me propose  : le Val ce transforme en CNum. Je ne sais pas pourquoi.
LIBRE_MAX Messages postés 1402 Date d'inscription mardi 1 mai 2007 Statut Membre Dernière intervention 7 octobre 2012 6
28 janv. 2008 à 22:56
Bansoir,
ça devrait marcher avec CCur()

Source Contrôle=(Somme([MontantPaiement])=vbNullString;CCur(0);CCur(Somme([MontantPaiement])))

<hr />
... Il y' en a même qui m' ont vu voler.
<hr />
LIBRE_MAX Messages postés 1402 Date d'inscription mardi 1 mai 2007 Statut Membre Dernière intervention 7 octobre 2012 6
28 janv. 2008 à 23:02
Pour éviter le symbole monétaire et si

c' est juste pour l' affichage, optes pour Format$()
Source Contrôle=(Somme([MontantPaiement])=vbNullString;Format$(0,"0,00");Format$(Somme([MontantPaiement]),"0,00"))

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

Posez votre question
quecdur Messages postés 22 Date d'inscription mercredi 27 décembre 2006 Statut Membre Dernière intervention 22 décembre 2010
29 janv. 2008 à 09:14
Bonjour et merci,
Il me demande la valeur de vbNullString.
Je ne sais pas comment faire. Merci de m'aider.
LIBRE_MAX Messages postés 1402 Date d'inscription mardi 1 mai 2007 Statut Membre Dernière intervention 7 octobre 2012 6
29 janv. 2008 à 12:37
Salut,
Pour VB6, c' est :
Source Contrôle=IIF(Somme([MontantPaiement])=vbNullString;Format$(0,"0,00");Format$(Somme([MontantPaiement]),"0,00"))

Je suppose que pour Excel c' est :
Source Contrôle=Si(Somme([MontantPaiement])=vbNullString;Format$(0,"0,00");Format$(Somme([MontantPaiement]),"0,00"))
LIBRE_MAX Messages postés 1402 Date d'inscription mardi 1 mai 2007 Statut Membre Dernière intervention 7 octobre 2012 6
29 janv. 2008 à 12:38
remplaces du coup VbNullString par ""

<hr />
... Il y' en a même qui m' ont vu voler.
<hr />
Rejoignez-nous