Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

CONTRÔLE DU NUMÉRO DE TVA (BELGE)


Information sur la source

Catégorie :Divers Classé sous : tva, controle Niveau : Débutant Date de création : 22/11/2004 Vu : 7 483

Note :
10 / 10 - par 1 personne
10,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (0)
Ajouter un commentaire et/ou une note

Description

Code commenté
 

Source

  • * Appels de la fonction DigitTVA_be
  • =digittva_be("402706791")
  • =digittva_be("401706791")
  • =digittva_be("233706791")
  • Function DigitTVA_be
  • parameters sTVA
  • * Contrôle du paramètre passé
  • if pcount()=0
  • ? "Numéro de TVA manquant"
  • return .F.
  • endif
  • if len(stva) <> 9
  • ? "Le numéro de TVA belge comprend 9 chiffres"
  • return .F.
  • endif
  • * Calcul du digit
  • * En clair : 97 moins le reste de la division des 7 premiers
  • * chiffres par 97
  • Tdigit=97-mod(val(substr(stva,1,7)),97)
  • * Les 2 derniers chiffres du numéro de TVA doivent être
  • * équivalents
  • if tdigit = val(substr(stva,8,2))
  • ? stva + " -> ce numéro est correct -> le digit est "+ str(tdigit)
  • return .T.
  • else
  • ? stva + " -> ce numéro est incorrect -> le digit est "+str(tdigit)
  • return .F.
  • endif
  • endfunc
* Appels de la fonction DigitTVA_be
=digittva_be("402706791")
=digittva_be("401706791")
=digittva_be("233706791")

Function DigitTVA_be
parameters sTVA
* Contrôle du paramètre passé
if pcount()=0
	? "Numéro de TVA manquant"
	return .F.
endif

if len(stva) <> 9
	? "Le numéro de TVA belge comprend 9 chiffres"
	return .F.
endif	

* Calcul du digit
* En clair : 97 moins le reste de la division des 7 premiers
* chiffres par 97
Tdigit=97-mod(val(substr(stva,1,7)),97)

* Les 2 derniers chiffres du numéro de TVA doivent être
* équivalents
if tdigit = val(substr(stva,8,2))
	? stva + " -> ce numéro est correct -> le digit est "+ str(tdigit)
	return .T.
else
	? stva + " -> ce numéro est incorrect -> le digit est "+str(tdigit)
	return .F.
endif
endfunc

Conclusion

Si nos amis de la CE pouvaient nous donner leur formule, ce serait sympa.
Jiem
 

Commentaires et avis

Aucun commentaire pour le moment.

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

vfp requête [ par zouheir_ali ] Bonjour &#224; tous, J'ai 4 taux de TVA :6,10,18,22.5dans un grille je saisie des articles dont chacun peut avoir un taux diff&#233;rent.en bas de la charger un combo box [ par brunaux ] merci Mike pour les r&#233;ponses mais le probl&#232;me est que le combo box est un controle activeX OCX que j'ai pris sur un site concern&#233; a fox


Nos sponsors

Sondage...

CalendriCode

Novembre 2008
LMMJVSD
     12
3456789
10111213141516
17181920212223
24252627282930

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,281 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.