Section courante

A propos

Section administrative du site

 Langage  Elément  Programmation  Annexe  Aide 
ABAP/4
Ada
Assembleur
Assembly & bytecode
ASP (Active Server Pages)
Basic
C
C++
C# (C Sharp)
Cobol
ColdFusion
Fortran
HTML
Java
JavaScript
LISP
Logo
LotusScript
Oberon
Pascal
Perl
PHP
PL/1
Prolog
Python
Rebol
REXX
Ruby
SAS
NoSQL
SQL
Swift
X++ (Axapta)
GNAT
SMALLAda
VHDL
Assembleur 370
Assembleur 1802
Assembleur 4004
Assembleur 6502
Assembleur 6800
Assembleur 68000
Assembleur 8080 et 8085
Assembleur 8089
Assembleur 80x86
Assembleur AGC4
Assembleur ARM
Assembleur DPS 8000
Assembleur i860
Assembleur Itanium
Assembleur MIPS
Assembleur PDP-11
Assembleur PowerPC
Assembleur RISC-V
Assembleur SPARC
Assembleur SuperH
Assembleur UNIVAC I
Assembleur VAX
Assembleur Z80
Assembleur Z8000
Assembleur z/Architecture
ASSEMBLER/MONITOR 64
Micol Assembler
GFA Assembler
A86
MASM (Macro Assembler)
TASM (Turbo Assembler)
CIL
Jasmin
LLVM
MSIL
Parrot
P-Code (PCode)
SWEET16
G-Pascal
ASP 1.0
ASP 2.0
ASP 3.0
ASP.NET
ASP.NET Core
ABasiC (Amiga)
Adam SmartBASIC
Altair BASIC
AmigaBASIC (Amiga)
AMOS Basic (Amiga)
Atari Basic (Atari 400, 600 XL, 800, 800XL)
Basic Apple II (Integer BASIC/APPLESOFT)
Basic Commodore 64 (CBM-BASIC)
Basic Commodore 128 (BASIC 7.0)
Basic Commodore VIC-20 (CBM-BASIC 2.0)
Basic Coco 1 (Color Basic)
Basic Coco 2 (Extended Color Basic)
Basic Coco 3 (Extended Color Basic 2.0)
BASICA (PC DOS)
Basic Pro
BBC BASIC
Blitz BASIC (Amiga)
DarkBASIC
Dartmouth BASIC
GFA-Basic (Atari ST/Amiga)
GWBASIC (MS-DOS)
Liberty BASIC
Locomotive BASIC (Amstrad CPC)
MSX-Basic
Omikron Basic (Atari ST)
Oric Extended Basic
Power Basic
Quick Basic/QBasic (MS-DOS)
Sinclair BASIC (ZX80, ZX81, ZX Spectrum)
ST BASIC (Atari ST)
Turbo Basic
Vintage BASIC
VBScript
Visual Basic (VB)
Visual Basic .NET (VB .NET)
Visual Basic pour DOS
Yabasic
BeckerBASIC
SIMONS' BASIC
Basic09 d'OS-9
Disk Extended Color Basic
Basic09 d'OS-9
Disk Extended Color Basic
Access
Excel
Visual Basic pour Windows
Visual Basic .NET pour Windows
C Shell Unix (csh)
C pour Amiga
C pour Atari ST
C pour DOS
C pour Falcon030
C pour GEMDOS (Atari ST)
C pour Linux
C pour PowerTV OS
C pour OS/2
C pour Unix
C pour Windows
Aztec C
CoCo-C
GNU C
HiSoft C
IBM C/2
Introl-C
Lattice C
Microsoft C
MinGW C
MSX-C
Open Watcom C
OS-9 C Compiler
Pure C
Quick C
Turbo C
HiSoft C for Atari ST
HiSoft C for CP/M (Amstrad CPC)
C++ pour OS/2
C++ pour Windows
Borland C++
C++Builder
IBM VisualAge C++
Intel C++
MinGW C++
Open Watcom C++
Symantec C++
Turbo C++
Visual C++
Visual C++ .NET
Watcom C++
Zortech C++
C# (C Sharp) pour Windows
Apple III Cobol
Microsoft Cobol
BlueDragon
Lucee
OpenBD
Railo
Smith Project
Microsoft Fortran
WATFOR-77
CSS
FBML
Open Graph
SVG
XML
XSL/XSLT
LESS
SASS
GCJ (GNU)
JSP
Jython
Visual J++
Node.js
TypeScript
AutoLISP
ACSLogo
LotusScript pour Windows
Amiga Oberon
Oberon .NET
Apple Pascal
Delphi/Kylix/Lazarus
Free Pascal
GNU Pascal
HighSpeed Pascal
IBM Personal Computer Pascal
Lisa Pascal
Maxon Pascal
MPW Pascal
OS-9 Pascal
OSS Personal Pascal
Pascal-86
Pascal du Cray Research
Pascal/VS
Pascal-XT
PURE Pascal
QuickPascal
RemObjets Chrome
Sun Pascal
THINK Pascal
Tiny Pascal (TRS-80)
Turbo Pascal
UCSD Pascal
VAX Pascal
Virtual Pascal
Turbo Pascal for CP/M-80
Turbo Pascal for DOS
Turbo Pascal for Macintosh
Turbo Pascal for Windows
CodeIgniter (Cadre d'application)
Drupal (Projet)
Joomla! (Projet)
Phalanger (PHP .NET)
phpBB (Projet)
Smarty (balise)
Twig (balise)
Symfony (Cadre d'application)
WordPress (Projet)
Zend (Cadre d'application)
PL360
PL/M-80
PL/M-86
Turbo Prolog
CPython
IronPython
Jython
PyPy
AREXX
Regina REXX
JMP
Btrieve
Cassandra
Clipper
CouchDB
dBASE
Hbase
Hypertable
MongoDB
Redis
Access
BigQuery
DB2
H2
Interbase
MySQL
Oracle
PostgreSQL
SAP HANA
SQL Server
Sybase
U-SQL
Remarque
Opérateur
Conditionnel
Tableur (chiffrier électronique)
Type de données
Référence
Bonjour
Astronomie
Biochimie
Fichier
Géographie
Géométrie
Histoire
Mathématique
Médicale
Météorologie
Océanographie
Sport
Temps
Trigonométrie
Validation
Phase lunaire
Calcul du calcium corrigé
Lecture d'un fichier texte séquentiel
Distance en Km entre deux longitudes et latitudes
Aire d'un cercle
Aire d'une surface de prisme rectangulaire
Aire d'un triangle
Distance entre deux points
Chiffre romain
Ackermann
Exp
Factoriel
Fibonacci
Log
Nombre premier
Odd
Random
Sqrt
Triangle Pascal
Hauteur utérine
Unité de mesure
Fréquence des vagues
Hockey
Année bissextile
Calendrier
Date de la Pâque
ArcCos
ArcSin
Atn/ATan/ArcTan/ArcTangente
Cos
Sin
Courriel
Bibliographie
Préface
Notes légal
Dictionnaire
Recherche

Le Canada est sans doute l'un des pays ou les taxes de vente sur les produits et services sont les plus compliqués à appliquer. Et pour cause : Elle varie d'une province ou territoire à l'autre, elle est parfois composé ou séparé. Voici leur représentation en date du mois septembre de l'années 2006 :

Province/Territoire Taxe 1 Taxe 2 Taux
Alberta TVH: 6% Aucune 6%
Colombie-Britanique TVH: 6% TVP: 7% 13%
Ile-du-Prince-Édouard TPS: 6% TVP: 10% 16.6%
Manitoba TPS: 6% TVP: 7% 13%
Nouveau-Brunswick TVH: 14% Aucune 14%
Nouvelle-Écosse TVH: 14% Aucune 14%
Nunavut TVH: 6% Aucune 6%
Ontario TPS: 6% TVP: 8% 14%
Québec TPS: 6% TVQ: 7.5% 13.95%
Saskatchewan TPS: 6% TVP: 7% 13%
Terre-Neuve/Labrador TVH: 14% Aucune 14%
Territoire du Nord Ouest TVH: 6% Aucune 6%
Territoire du Yukon TVH: 6% Aucune 6%

Tout d'abord, voici un premier exemple permet d'afficher des données complètes sur les taxes en LotusScript :

  1. Function Empattement(Byval Chaine As String, Byval Espace As Integer) As String
  2.      Empattement = Chaine & Space$(Espace - Len(Chaine))
  3. End Function 
  4.  
  5. Sub Main()
  6.      Dim Compute(0 To 12)  As String
  7.      Dim TaxName1(0 To 12) As String
  8.      Dim TaxRate1(0 To 12) As Double
  9.      Dim TaxName2(0 To 12) As String
  10.      Dim TaxRate2(0 To 12) As Double
  11.      Dim RegionMID(0 To 12) As String
  12.      Dim RegionName_EN(0 To 12) As String
  13.      Dim RegionName_FR(0 To 12) As String
  14.      Compute(0) = "C"
  15.      Compute(1) = "C"
  16.      Compute(2) = "C"
  17.      Compute(3) = "C"
  18.      Compute(4) = "S"
  19.      Compute(5) = "C"
  20.      Compute(6) = "S"
  21.      Compute(7) = "S"
  22.      Compute(8) ="S"
  23.      Compute(9) = "S"
  24.      Compute(10) = "C"
  25.      Compute(11) = "S"
  26.      Compute(12) = "S"
  27.      TaxName1(0) = "TPS"
  28.      TaxName1(1) ="TVH"
  29.      TaxName1(2) = "TVH"
  30.      TaxName1(3) ="TVH"
  31.      TaxName1(4) ="TPS"
  32.      TaxName1(5) ="TVH"
  33.      TaxName1(6) ="TPS"
  34.      TaxName1(7) ="TVH"
  35.      TaxName1(8) ="TVH"
  36.      TaxName1(9) ="TPS"
  37.      TaxName1(10) ="TPS"
  38.      TaxName1(11) ="TPS"
  39.      TaxName1(12) ="TVH"
  40.      TaxRate1(0)=6.0000
  41.      TaxRate1(1)=14.0000
  42.      TaxRate1(2)=14.0000
  43.      TaxRate1(3)=14.0000
  44.      TaxRate1(4)=6.0000
  45.      TaxRate1(5)=6.0000
  46.      TaxRate1(6)=6.0000
  47.      TaxRate1(7)=6.0000
  48.      TaxRate1(8)=6.0000
  49.      TaxRate1(9)=6.0000
  50.      TaxRate1(10)=6.0000
  51.      TaxRate1(11)=6.0000
  52.      TaxRate1(12)=6.0000
  53.      TaxName2(0)="TVQ"
  54.      TaxName2(1)=""
  55.      TaxName2(2)=""
  56.      TaxName2(3)=""
  57.      TaxName2(4)="TVP"
  58.      TaxName2(5)=""
  59.      TaxName2(6)="TVP"
  60.      TaxName2(7)=""
  61.      TaxName2(8)=""
  62.      TaxName2(9)="TVP"
  63.      TaxName2(10)="TVP"
  64.      TaxName2(11)="TVP"
  65.      TaxName2(12)=""
  66.      TaxRate2(0)=7.5000
  67.      TaxRate2(1)=0.0000
  68.      TaxRate2(2)=0.0000
  69.      TaxRate2(3)=0.0000
  70.      TaxRate2(4)=7.0000
  71.      TaxRate2(5)=0.0000
  72.      TaxRate2(6)=7.0000
  73.      TaxRate2(7)=0.0000
  74.      TaxRate2(8)=0.0000
  75.      TaxRate2(9)=8.0000
  76.      TaxRate2(10)=10.0000
  77.      TaxRate2(11)=7.0000
  78.      TaxRate2(12)=0.0000
  79.      RegionMID(0)="QC"
  80.      RegionMID(1)="NS"
  81.      RegionMID(2)="NB"
  82.      RegionMID(3)="NF"
  83.      RegionMID(4)="BC"
  84.      RegionMID(5)="AB"
  85.      RegionMID(6)="MB"
  86.      RegionMID(7)="NT"
  87.      RegionMID(8)="NU"
  88.      RegionMID(9)="ON"
  89.      RegionMID(10)="PE"
  90.      RegionMID(11)="SK"
  91.      RegionMID(12)="YT"
  92.      RegionName_EN(0)="Quebec"
  93.      RegionName_EN(1)="Nova Scotia"
  94.      RegionName_EN(2)="New Brunswick"
  95.      RegionName_EN(3)="Newfoundland"
  96.      RegionName_EN(4)="British Columbia"
  97.      RegionName_EN(5)="Alberta"
  98.      RegionName_EN(6)="Manitoba"
  99.      RegionName_EN(7)="Northwest Territories"
  100.      RegionName_EN(8)="Nunavut"
  101.      RegionName_EN(9)="Ontario"
  102.      RegionName_EN(10)="Prince Edward Island"
  103.      RegionName_EN(11)="Saskatchewan"
  104.      RegionName_EN(12)="Yukon Territory"
  105.      RegionName_FR(0)="Québec"
  106.      RegionName_FR(1)="Nouvelle-Écosse"
  107.      RegionName_FR(2)="Nouveau-Brunswick"
  108.      RegionName_FR(3)="Terre-Neuve/Labrador"
  109.      RegionName_FR(4)="Colombie-Britanique"
  110.      RegionName_FR(5)="Alberta"
  111.      RegionName_FR(6)="Manitoba"
  112.      RegionName_FR(7)="Territoire du Nord Ouest"
  113.      RegionName_FR(8)="Nunavut"
  114.      RegionName_FR(9)="Ontario"
  115.      RegionName_FR(10)="Ile-du-Prince-Édouard"
  116.      RegionName_FR(11)="Saskatchewan"
  117.      RegionName_FR(12)="Territoire du Yukon"
  118.      Print "Nom de la province/territoire MID Taxe 1 Taxe 2 Taux"
  119.      For I = Lbound(Compute) To Ubound(Compute)
  120.           Print Empattement(RegionName_FR(I), 31);
  121.           Print Empattement(RegionMID(I), 5);
  122.           Print TaxName1(I) & ":" & TaxRate1(I) & "%" & " ";
  123.           If TaxName2(I) = "" Then
  124.                Print Spc( 10);
  125.           Else
  126.                Print Empattement(TaxName2(I) & ":" & TaxRate2(I) & "%", 10);
  127.           End If
  128.           Select Case Compute(I)
  129.           Case "S" 'Séparé
  130.                Print TaxRate1(I) + TaxRate2(I) & "%" & " "
  131.           Case "C" 'Composé
  132.                Print TaxRate1(I) + ((TaxRate2(I) * (100 + TaxRate1(I))) / 100) & "%" & " "
  133.           End Select
  134.      Next 
  135. End Sub

on obtiendra le résultat suivant :

Nom de la province/territoireMIDTaxe 1Taxe 2Taux
QuébecQCTPS:6%TVQ:7.5%13.95%
Nouvelle-ÉcosseNSTVH:14% 14%
Nouveau-BrunswickNBTVH:14% 14%
Terre-Neuve/LabradorNFTVH:14% 14%
Colombie-BritaniqueBCTPS:6%TVP:7%13%
AlbertaABTVH:6% 6%
ManitobaMBTPS:6%TVP:7%13%
Territoire du Nord OuestNTTVH:6% 6%
NunavutNUTVH:6% 6%
OntarioONTPS:6%TVP:8%14%
Ile-du-Prince-ÉdouardPETPS:6%TVP:10%16.6%
SaskatchewanSKTPS:6%TVP:7%13%
Territoire du YukonYTTVH:6% 6%

Ensuite, voici un deuxième exemple permet de calculer la taxe de vente d'un produit ou service en fonction des provinces ou territoires en LotusScript:

  1. Function Empattement(Byval Chaine As String, Byval Espace As Integer) As String
  2.      Empattement = Chaine &Space$(Espace - Len(Chaine))
  3. End Function 
  4.  
  5. Sub Main()
  6.      Dim Compute(0 To 12)  As String
  7.      Dim TaxName1(0 To 12) As String
  8.      Dim TaxRate1(0 To 12) As Double
  9.      Dim TaxName2(0 To 12) As String
  10.      Dim TaxRate2(0 To 12) As Double
  11.      Dim RegionMID(0 To 12) As String
  12.      Dim RegionName_EN(0 To 12) As String
  13.      Dim RegionName_FR(0 To 12) As String
  14.      Dim I As Integer
  15.      Compute(0) = "C"
  16.      Compute(1) = "C"
  17.      Compute(2) = "C"
  18.      Compute(3) = "C"
  19.      Compute(4) = "S"
  20.      Compute(5) = "C"
  21.      Compute(6) = "S"
  22.      Compute(7) = "S"
  23.      Compute(8) ="S"
  24.      Compute(9) = "S"
  25.      Compute(10) = "C"
  26.      Compute(11) = "S"
  27.      Compute(12) = "S"
  28.      TaxName1(0) = "TPS"
  29.      TaxName1(1) ="TVH"
  30.      TaxName1(2) = "TVH"
  31.      TaxName1(3) ="TVH"
  32.      TaxName1(4) ="TPS"
  33.      TaxName1(5) ="TVH"
  34.      TaxName1(6) ="TPS"
  35.      TaxName1(7) ="TVH"
  36.      TaxName1(8) ="TVH"
  37.      TaxName1(9) ="TPS"
  38.      TaxName1(10) ="TPS"
  39.      TaxName1(11) ="TPS"
  40.      TaxName1(12) ="TVH"
  41.      TaxRate1(0)=6.0000
  42.      TaxRate1(1)=14.0000
  43.      TaxRate1(2)=14.0000
  44.      TaxRate1(3)=14.0000
  45.      TaxRate1(4)=6.0000
  46.      TaxRate1(5)=6.0000
  47.      TaxRate1(6)=6.0000
  48.      TaxRate1(7)=6.0000
  49.      TaxRate1(8)=6.0000
  50.      TaxRate1(9)=6.0000
  51.      TaxRate1(10)=6.0000
  52.      TaxRate1(11)=6.0000
  53.      TaxRate1(12)=6.0000
  54.      TaxName2(0)="TVQ"
  55.      TaxName2(1)=""
  56.      TaxName2(2)=""
  57.      TaxName2(3)=""
  58.      TaxName2(4)="TVP"
  59.      TaxName2(5)=""
  60.      TaxName2(6)="TVP"
  61.      TaxName2(7)=""
  62.      TaxName2(8)=""
  63.      TaxName2(9)="TVP"
  64.      TaxName2(10)="TVP"
  65.      TaxName2(11)="TVP"
  66.      TaxName2(12)=""
  67.      TaxRate2(0)=7.5000
  68.      TaxRate2(1)=0.0000
  69.      TaxRate2(2)=0.0000
  70.      TaxRate2(3)=0.0000
  71.      TaxRate2(4)=7.0000
  72.      TaxRate2(5)=0.0000
  73.      TaxRate2(6)=7.0000
  74.      TaxRate2(7)=0.0000
  75.      TaxRate2(8)=0.0000
  76.      TaxRate2(9)=8.0000
  77.      TaxRate2(10)=10.0000
  78.      TaxRate2(11)=7.0000
  79.      TaxRate2(12)=0.0000
  80.      RegionMID(0)="QC"
  81.      RegionMID(1)="NS"
  82.      RegionMID(2)="NB"
  83.      RegionMID(3)="NF"
  84.      RegionMID(4)="BC"
  85.      RegionMID(5)="AB"
  86.      RegionMID(6)="MB"
  87.      RegionMID(7)="NT"
  88.      RegionMID(8)="NU"
  89.      RegionMID(9)="ON"
  90.      RegionMID(10)="PE"
  91.      RegionMID(11)="SK"
  92.      RegionMID(12)="YT"
  93.      RegionName_EN(0)="Quebec"
  94.      RegionName_EN(1)="Nova Scotia"
  95.      RegionName_EN(2)="New Brunswick"
  96.      RegionName_EN(3)="Newfoundland"
  97.      RegionName_EN(4)="British Columbia"
  98.      RegionName_EN(5)="Alberta"
  99.      RegionName_EN(6)="Manitoba"
  100.      RegionName_EN(7)="Northwest Territories"
  101.      RegionName_EN(8)="Nunavut"
  102.      RegionName_EN(9)="Ontario"
  103.      RegionName_EN(10)="Prince Edward Island"
  104.      RegionName_EN(11)="Saskatchewan"
  105.      RegionName_EN(12)="Yukon Territory"
  106.      RegionName_FR(0)="Québec"
  107.      RegionName_FR(1)="Nouvelle-Écosse"
  108.      RegionName_FR(2)="Nouveau-Brunswick"
  109.      RegionName_FR(3)="Terre-Neuve/Labrador"
  110.      RegionName_FR(4)="Colombie-Britanique"
  111.      RegionName_FR(5)="Alberta"
  112.      RegionName_FR(6)="Manitoba"
  113.      RegionName_FR(7)="Territoire du Nord Ouest"
  114.      RegionName_FR(8)="Nunavut"
  115.      RegionName_FR(9)="Ontario"
  116.      RegionName_FR(10)="Ile-du-Prince-Édouard"
  117.      RegionName_FR(11)="Saskatchewan"
  118.      RegionName_FR(12)="Territoire du Yukon" 
  119.      
  120.      Print "Nom de la province/territoire Taxe 1 Taxe 2 Taux 1$ 15$ 44,95$ 100$"
  121.      For I = Lbound(Compute) To Ubound(Compute) 
  122.           Dim Tax As Double
  123.           Tax = 0
  124.           Print Empattement(RegionName_FR(I), 31);
  125.           Print TaxName1(I)  & ":" & TaxRate1(I) & "%" & " ";
  126.           If TaxName2(I) = "" Then
  127.                Print Spc(10);
  128.           Else
  129.                Print Empattement(TaxName2(I) & ":" & TaxRate2(I), 10);
  130.           End If
  131.           Select Case Compute(I)
  132.           Case "S" 'Séparé
  133.                Tax = TaxRate1(I) + TaxRate2(I)
  134.           Case "C" 'Composé
  135.                Tax = TaxRate1(I) + ((TaxRate2(I) * (100 + TaxRate1(I))) / 100)
  136.           End Select
  137.           Print (Tax) & "%" & " ";
  138.           Print (1 * (1 + (Tax / 100))) & "$ ";
  139.           Print (15 * (1 + (Tax / 100))) & "$ ";
  140.           Print (44.95 * (1 + (Tax / 100))) & "$ ";
  141.           Print (100 * (1 + (Tax / 100))) & "$ "
  142.      Next
  143. End Sub

on obtiendra le résultat suivant :

Nom de la province/territoireTaxe 1Taxe 2Taux1$15$44,95$100$
QuébecTPS:6%TVQ:7.5%13.95%1.1395$17.0925$51.220525$113.95$
Nouvelle-ÉcosseTVH:14% 14%1.14$17.1$51.243$114$
Nouveau-BrunswickTVH:14% 14%1.14$17.1$51.243$114$
Terre-Neuve/LabradorTVH:14% 14%1.14$17.1$51.243$114$
Colombie-BritaniqueTPS:6%TVP:7%13%1.13$16.95$50.7935$113$
AlbertaTVH:6% 6%1.06$15.9$47.647$106$
ManitobaTPS:6%TVP:7%13%1.13$16.95$50.7935$113$
Territoire du Nord OuestTVH:6% 6%1.06$15.9$47.647$106$
NunavutTVH:6% 6%1.06$15.9$47.647$106$
OntarioTPS:6%TVP:8%14%1.14$17.1$51.243$114$
Ile-du-Prince-ÉdouardTPS:6%TVP:10%16.6%1.166$17.49$52.4117$116.6$
SaskatchewanTPS:6%TVP:7%13%1.13$16.95$50.7935$113$
Territoire du YukonTVH:6% 6%1.06$15.9$47.647$106$


PARTAGER CETTE PAGE SUR
Dernière mise à jour : Dimanche, le 18 janvier 2015