Vous êtes sur la page 1sur 19

Credit Card Validation - Check Digits

This document outlines procedures and algorithms for Verifying the accuracy and validity of credit card
numbers. Most credit card numbers are encoded with a "Check Digit". A check digit is a digit added to a
number (either at the end or the beginning) that validates the authenticity of the number. A simple algorithm
is applied to the other digits of the number which yields the check digit. By running the algorithm, and
comparing the check digit you get from the algorithm with the check digit encoded with the credit card
number, you can verify that you have correctly read all of the digits and that they make a valid combination.
Possible uses for this information:

When a user has keyed in a credit card number (or scanned it) and you want to validate it before
sending it our for debit authorization.
When issuing cards, say an affinity card, you might want to add a check digit using the MOD 10
method.

1.Prefix, Length, and Check Digit Criteria


Here is a table outlining the major credit cards that you might want to validate.

MASTERCARD

Prefix
51-55

Length
16

Check digit
algorithm
mod 10

VISA

13, 16

mod 10

AMEX

34
37

15

mod 10

Diners Club/
Carte Blanche

300-305
36
38

14

mod 10

Discover

6011

16

mod 10

enRoute

2014
2149

15

any

JCB

16

mod 10

JCB

2131
1800

15

mod 10

CARD TYPE

2. LUHN Formula (Mod 10) for Validation of Primary Account


Number
The following steps are required to validate the primary account number:
Step 1: Double the value of alternate digits of the primary account number beginning with the second digit
from the right (the first right--hand digit is the check digit.)
Step 2: Add the individual digits comprising the products obtained in Step 1 to each of the unaffected digits
in the original number.
Step 3: The total obtained in Step 2 must be a number ending in zero (30, 40, 50, etc.) for the account
number to be validated.

For example, to validate the primary account number 49927398716:


Step 1:
4 9 9 2 7 3 9 8 7 1 6
x2 x2 x2 x2 x2
-----------------------------18
4
6 16
2

Step 2: 4 +(1+8)+ 9 + (4) + 7 + (6) + 9 +(1+6) + 7 + (2) + 6


Step 3: Sum = 70 : Card number is validated
Note: Card is valid because the 70/10 yields no remainder.
The great folks at ICVERIFY are the original source of this data, I only formatted it in HTML.
If you are in the market, I wrote a set of FoxPro modules for Windows/Dos that interface nicely with
ICVERIFY in a multi-user LAN setup. You just set up ICVERIFY on a single station, and all stations on the
LAN can authorize credit cards with a single FOXBASE function call. Of course, you have to license
ICVERIFY by the node, but it is very reasonable. I also wrote a couple of simple functions to perform preauthorization, card screening, etc.
Here is a Microsoft Excel worksheet that will validate a number for you (useful for understanding the
algorithm, it is in a .ZIP compressed format)
Horace Vallas made a NeoWebScript (Tcl really) procedure that implements it.
Check it out at https://enterprise.neosoft.com/secureforms/hav/
Because I get at least a letter a week regarding this routine, here are some additional helpful notes:
Make sure that you:
1. have started with the rightmost digit (including the check digit) (figure odd and even based upon the
rightmost digit being odd, regardless of the length of the Credit Card.) ALWAYS work right to left.
2. the check digit counts as digit #1 (assuming that the rightmost digit is the check digit) and is not
doubled
3. double every second digit (starting with digit # 2 from the right)
4. remember that when you double a number over 4, (6 for example) you don't add the result to your
total, but rather the sum of the digits of the result (in the above example 6*2=12 so you would add
1+2 to your total (not 12).
5. always include the Visa or M/C/ prefix.

Luhn Excel worksheet


<?xml version="1.0"?>
<?mso-application progid="Excel.Sheet"?>
<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet"
xmlns:o="urn:schemas-microsoft-com:office:office"
xmlns:x="urn:schemas-microsoft-com:office:excel"
xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet"
xmlns:html="http://www.w3.org/TR/REC-html40">
<DocumentProperties xmlns="urn:schemas-microsoft-com:office:office">
<Author>Hal Stiles</Author>
<Created>1996-11-14T00:59:30Z</Created>
<Company>Warner Bros.</Company>
<Version>14.00</Version>
</DocumentProperties>
<OfficeDocumentSettings xmlns="urn:schemas-microsoft-com:office:office">
<AllowPNG/>
<Colors>
<Color>
<Index>16</Index>
<RGB>#8080FF</RGB>
</Color>
<Color>
<Index>17</Index>
<RGB>#802060</RGB>
</Color>
<Color>
<Index>18</Index>
<RGB>#FFFFC0</RGB>
</Color>
<Color>

<Index>19</Index>
<RGB>#A0E0E0</RGB>
</Color>
<Color>
<Index>20</Index>
<RGB>#600080</RGB>
</Color>
<Color>
<Index>22</Index>
<RGB>#0080C0</RGB>
</Color>
<Color>
<Index>23</Index>
<RGB>#C0C0FF</RGB>
</Color>
<Color>
<Index>33</Index>
<RGB>#69FFFF</RGB>
</Color>
<Color>
<Index>36</Index>
<RGB>#A6CAF0</RGB>
</Color>
<Color>
<Index>37</Index>
<RGB>#CC9CCC</RGB>
</Color>
<Color>
<Index>39</Index>
<RGB>#E3E3E3</RGB>

</Color>
<Color>
<Index>42</Index>
<RGB>#339933</RGB>
</Color>
<Color>
<Index>43</Index>
<RGB>#999933</RGB>
</Color>
<Color>
<Index>44</Index>
<RGB>#996633</RGB>
</Color>
<Color>
<Index>45</Index>
<RGB>#996666</RGB>
</Color>
<Color>
<Index>48</Index>
<RGB>#3333CC</RGB>
</Color>
<Color>
<Index>49</Index>
<RGB>#336666</RGB>
</Color>
<Color>
<Index>52</Index>
<RGB>#663300</RGB>
</Color>
<Color>

<Index>55</Index>
<RGB>#424242</RGB>
</Color>
</Colors>
</OfficeDocumentSettings>
<ExcelWorkbook xmlns="urn:schemas-microsoft-com:office:excel">
<WindowHeight>6690</WindowHeight>
<WindowWidth>11235</WindowWidth>
<WindowTopX>360</WindowTopX>
<WindowTopY>105</WindowTopY>
<ProtectStructure>False</ProtectStructure>
<ProtectWindows>False</ProtectWindows>
</ExcelWorkbook>
<Styles>
<Style ss:ID="Default" ss:Name="Normal">
<Alignment ss:Vertical="Bottom"/>
<Borders/>
<Font ss:FontName="Arial"/>
<Interior/>
<NumberFormat/>
<Protection/>
</Style>
<Style ss:ID="s21">
<Alignment ss:Horizontal="Left" ss:Vertical="Bottom"/>
<Borders>
<Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"/>
<Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1"/>
<Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="1"/>
<Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="1"/>
</Borders>

<Font ss:FontName="Arial" x:Family="Swiss" ss:Color="#000000" ss:Bold="1"/>


<Interior ss:Color="#FFFFC0" ss:Pattern="Solid"/>
<NumberFormat ss:Format="0"/>
<Protection ss:Protected="0"/>
</Style>
<Style ss:ID="s22">
<Alignment ss:Horizontal="CenterAcrossSelection" ss:Vertical="Bottom"/>
<Font ss:FontName="Arial" ss:Bold="1"/>
<Protection/>
</Style>
<Style ss:ID="s23">
<Alignment ss:Horizontal="CenterAcrossSelection" ss:Vertical="Bottom"/>
<Protection/>
</Style>
<Style ss:ID="s24">
<Protection/>
</Style>
<Style ss:ID="s25">
<Alignment ss:Horizontal="Left" ss:Vertical="Bottom"/>
<Protection/>
</Style>
<Style ss:ID="s26">
<Font ss:FontName="Arial" ss:Bold="1"/>
<Protection/>
</Style>
<Style ss:ID="s27">
<Alignment ss:Horizontal="Right" ss:Vertical="Bottom"/>
<Protection/>
</Style>
<Style ss:ID="s28">

<Alignment ss:Horizontal="Left" ss:Vertical="Bottom"/>


<Font ss:FontName="Arial" ss:Bold="1"/>
<Protection/>
</Style>
<Style ss:ID="s29">
<Alignment ss:Horizontal="Right" ss:Vertical="Bottom"/>
<Font ss:FontName="Arial" ss:Bold="1"/>
<Protection/>
</Style>
<Style ss:ID="s30">
<NumberFormat ss:Format="0"/>
<Protection/>
</Style>
<Style ss:ID="s31">
<Alignment ss:Horizontal="Center" ss:Vertical="Bottom" ss:WrapText="1"/>
<Borders>
<Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"/>
</Borders>
<Protection/>
</Style>
<Style ss:ID="s32">
<Alignment ss:Horizontal="Center" ss:Vertical="Bottom" ss:WrapText="1"/>
<Borders>
<Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"/>
</Borders>
<Font ss:FontName="Arial" ss:Bold="1"/>
<Protection/>
</Style>
<Style ss:ID="s33">
<Alignment ss:Horizontal="CenterAcrossSelection" ss:Vertical="Bottom"

ss:WrapText="1"/>
<Font ss:FontName="Arial" x:Family="Swiss" ss:Size="14" ss:Italic="1"/>
<Protection/>
</Style>
<Style ss:ID="s34">
<Alignment ss:Horizontal="CenterAcrossSelection" ss:Vertical="Bottom"
ss:WrapText="1"/>
<Protection/>
</Style>
<Style ss:ID="s35">
<Alignment ss:Vertical="Bottom" ss:WrapText="1"/>
<Protection/>
</Style>
<Style ss:ID="s36">
<Alignment ss:Horizontal="Center" ss:Vertical="Bottom"/>
<Protection/>
</Style>
<Style ss:ID="s37">
<Alignment ss:Horizontal="Center" ss:Vertical="Bottom"/>
<Font ss:FontName="Arial" ss:Bold="1"/>
<Protection/>
</Style>
<Style ss:ID="s38">
<Alignment ss:Horizontal="Center" ss:Vertical="Top"/>
<Borders>
<Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="2"/>
</Borders>
<Protection/>
</Style>
</Styles>

<Worksheet ss:Name="LUHN Worksheet" ss:Protected="1">


<Table ss:ExpandedColumnCount="7" ss:ExpandedRowCount="27" x:FullColumns="1"
x:FullRows="1" ss:StyleID="s24">
<Column ss:StyleID="s27" ss:AutoFitWidth="0" ss:Width="39"/>
<Column ss:StyleID="s26" ss:AutoFitWidth="0" ss:Width="33"/>
<Column ss:StyleID="s24" ss:AutoFitWidth="0" ss:Width="46.5"/>
<Column ss:StyleID="s24" ss:AutoFitWidth="0" ss:Width="35.25"/>
<Column ss:StyleID="s24" ss:AutoFitWidth="0" ss:Width="45"/>
<Column ss:StyleID="s24" ss:AutoFitWidth="0" ss:Width="123.75"/>
<Column ss:StyleID="s24" ss:AutoFitWidth="0" ss:Width="109.5"/>
<Row>
<Cell ss:StyleID="s22"><Data ss:Type="String"> 1997 Harrell W. Stiles</Data></Cell>
<Cell ss:StyleID="s22"/>
<Cell ss:StyleID="s23"/>
<Cell ss:StyleID="s23"/>
<Cell ss:StyleID="s23"/>
<Cell ss:StyleID="s23"/>
<Cell ss:StyleID="s23"/>
</Row>
<Row>
<Cell ss:StyleID="s22"><Data ss:Type="String">For more information, check out:
Http://www.beachnet.com/~hstiles/cardtype.html</Data></Cell>
<Cell ss:StyleID="s22"/>
<Cell ss:StyleID="s23"/>
<Cell ss:StyleID="s23"/>
<Cell ss:StyleID="s23"/>
<Cell ss:StyleID="s23"/>
<Cell ss:StyleID="s23"/>
</Row>
<Row>
<Cell ss:StyleID="s25"/>

</Row>
<Row>
<Cell ss:Index="6" ss:StyleID="s28"><Data ss:Type="String">Enter Credit Card # Here:</Data></Cell>
<Cell><Data ss:Type="String">Text Evaluation of same:</Data></Cell>
</Row>
<Row>
<Cell ss:StyleID="s24"/>
<Cell ss:StyleID="s29"/>
<Cell ss:StyleID="s27"/>
<Cell ss:Index="6" ss:StyleID="s21"><Data ss:Type="Number">541234567890125</Data></Cell>
<Cell ss:StyleID="s30" ss:Formula="=TEXT(RC[-1],&quot;00000000000000000000&quot;)"><Data
ss:Type="String">00000541234567890125</Data></Cell>
</Row>
<Row ss:Height="27" ss:StyleID="s35">
<Cell ss:StyleID="s31"><Data ss:Type="String">Digit Number</Data></Cell>
<Cell ss:StyleID="s32"><Data ss:Type="String">Card Value</Data></Cell>
<Cell ss:StyleID="s31"><Data ss:Type="String">Multiplied By</Data></Cell>
<Cell ss:StyleID="s31"><Data ss:Type="String">Equals</Data></Cell>
<Cell ss:StyleID="s31"><Data ss:Type="String">Sum of the digits</Data></Cell>
<Cell ss:StyleID="s33"
ss:Formula="=IF(MOD(R[21]C[-1],10)=0,&quot;This number passes!&quot;,&quot;This number does not
pass!&quot;)"><Data
ss:Type="String">This number passes!</Data></Cell>
<Cell ss:StyleID="s34"/>
</Row>
<Row>
<Cell ss:StyleID="s36"><Data ss:Type="Number">1</Data></Cell>
<Cell ss:StyleID="s37" ss:Formula="=MID(R5C7,21-RC[-1],1)"><Data
ss:Type="String">5</Data></Cell>
<Cell ss:StyleID="s36"><Data ss:Type="Number">1</Data></Cell>
<Cell ss:StyleID="s36" ss:Formula="=RC[-2]*RC[-1]"><Data ss:Type="Number">5</Data></Cell>

<Cell ss:StyleID="s36"
ss:Formula="=IF(RC[-1]&lt;10,RC[-1],INT(RC[-1]/10)+MOD(RC[-1],10))"><Data
ss:Type="Number">5</Data></Cell>
</Row>
<Row>
<Cell ss:StyleID="s36"><Data ss:Type="Number">2</Data></Cell>
<Cell ss:StyleID="s37" ss:Formula="=MID(R5C7,21-RC[-1],1)"><Data
ss:Type="String">2</Data></Cell>
<Cell ss:StyleID="s36"><Data ss:Type="Number">2</Data></Cell>
<Cell ss:StyleID="s36" ss:Formula="=RC[-2]*RC[-1]"><Data ss:Type="Number">4</Data></Cell>
<Cell ss:StyleID="s36"
ss:Formula="=IF(RC[-1]&lt;10,RC[-1],INT(RC[-1]/10)+MOD(RC[-1],10))"><Data
ss:Type="Number">4</Data></Cell>
</Row>
<Row>
<Cell ss:StyleID="s36"><Data ss:Type="Number">3</Data></Cell>
<Cell ss:StyleID="s37" ss:Formula="=MID(R5C7,21-RC[-1],1)"><Data
ss:Type="String">1</Data></Cell>
<Cell ss:StyleID="s36"><Data ss:Type="Number">1</Data></Cell>
<Cell ss:StyleID="s36" ss:Formula="=RC[-2]*RC[-1]"><Data ss:Type="Number">1</Data></Cell>
<Cell ss:StyleID="s36"
ss:Formula="=IF(RC[-1]&lt;10,RC[-1],INT(RC[-1]/10)+MOD(RC[-1],10))"><Data
ss:Type="Number">1</Data></Cell>
</Row>
<Row>
<Cell ss:StyleID="s36"><Data ss:Type="Number">4</Data></Cell>
<Cell ss:StyleID="s37" ss:Formula="=MID(R5C7,21-RC[-1],1)"><Data
ss:Type="String">0</Data></Cell>
<Cell ss:StyleID="s36"><Data ss:Type="Number">2</Data></Cell>
<Cell ss:StyleID="s36" ss:Formula="=RC[-2]*RC[-1]"><Data ss:Type="Number">0</Data></Cell>

<Cell ss:StyleID="s36"
ss:Formula="=IF(RC[-1]&lt;10,RC[-1],INT(RC[-1]/10)+MOD(RC[-1],10))"><Data
ss:Type="Number">0</Data></Cell>
</Row>
<Row>
<Cell ss:StyleID="s36"><Data ss:Type="Number">5</Data></Cell>
<Cell ss:StyleID="s37" ss:Formula="=MID(R5C7,21-RC[-1],1)"><Data
ss:Type="String">9</Data></Cell>
<Cell ss:StyleID="s36"><Data ss:Type="Number">1</Data></Cell>
<Cell ss:StyleID="s36" ss:Formula="=RC[-2]*RC[-1]"><Data ss:Type="Number">9</Data></Cell>
<Cell ss:StyleID="s36"
ss:Formula="=IF(RC[-1]&lt;10,RC[-1],INT(RC[-1]/10)+MOD(RC[-1],10))"><Data
ss:Type="Number">9</Data></Cell>
</Row>
<Row>
<Cell ss:StyleID="s36"><Data ss:Type="Number">6</Data></Cell>
<Cell ss:StyleID="s37" ss:Formula="=MID(R5C7,21-RC[-1],1)"><Data
ss:Type="String">8</Data></Cell>
<Cell ss:StyleID="s36"><Data ss:Type="Number">2</Data></Cell>
<Cell ss:StyleID="s36" ss:Formula="=RC[-2]*RC[-1]"><Data ss:Type="Number">16</Data></Cell>
<Cell ss:StyleID="s36"
ss:Formula="=IF(RC[-1]&lt;10,RC[-1],INT(RC[-1]/10)+MOD(RC[-1],10))"><Data
ss:Type="Number">7</Data></Cell>
</Row>
<Row>
<Cell ss:StyleID="s36"><Data ss:Type="Number">7</Data></Cell>
<Cell ss:StyleID="s37" ss:Formula="=MID(R5C7,21-RC[-1],1)"><Data
ss:Type="String">7</Data></Cell>
<Cell ss:StyleID="s36"><Data ss:Type="Number">1</Data></Cell>
<Cell ss:StyleID="s36" ss:Formula="=RC[-2]*RC[-1]"><Data ss:Type="Number">7</Data></Cell>

<Cell ss:StyleID="s36"
ss:Formula="=IF(RC[-1]&lt;10,RC[-1],INT(RC[-1]/10)+MOD(RC[-1],10))"><Data
ss:Type="Number">7</Data></Cell>
</Row>
<Row>
<Cell ss:StyleID="s36"><Data ss:Type="Number">8</Data></Cell>
<Cell ss:StyleID="s37" ss:Formula="=MID(R5C7,21-RC[-1],1)"><Data
ss:Type="String">6</Data></Cell>
<Cell ss:StyleID="s36"><Data ss:Type="Number">2</Data></Cell>
<Cell ss:StyleID="s36" ss:Formula="=RC[-2]*RC[-1]"><Data ss:Type="Number">12</Data></Cell>
<Cell ss:StyleID="s36"
ss:Formula="=IF(RC[-1]&lt;10,RC[-1],INT(RC[-1]/10)+MOD(RC[-1],10))"><Data
ss:Type="Number">3</Data></Cell>
</Row>
<Row>
<Cell ss:StyleID="s36"><Data ss:Type="Number">9</Data></Cell>
<Cell ss:StyleID="s37" ss:Formula="=MID(R5C7,21-RC[-1],1)"><Data
ss:Type="String">5</Data></Cell>
<Cell ss:StyleID="s36"><Data ss:Type="Number">1</Data></Cell>
<Cell ss:StyleID="s36" ss:Formula="=RC[-2]*RC[-1]"><Data ss:Type="Number">5</Data></Cell>
<Cell ss:StyleID="s36"
ss:Formula="=IF(RC[-1]&lt;10,RC[-1],INT(RC[-1]/10)+MOD(RC[-1],10))"><Data
ss:Type="Number">5</Data></Cell>
</Row>
<Row>
<Cell ss:StyleID="s36"><Data ss:Type="Number">10</Data></Cell>
<Cell ss:StyleID="s37" ss:Formula="=MID(R5C7,21-RC[-1],1)"><Data
ss:Type="String">4</Data></Cell>
<Cell ss:StyleID="s36"><Data ss:Type="Number">2</Data></Cell>
<Cell ss:StyleID="s36" ss:Formula="=RC[-2]*RC[-1]"><Data ss:Type="Number">8</Data></Cell>

<Cell ss:StyleID="s36"
ss:Formula="=IF(RC[-1]&lt;10,RC[-1],INT(RC[-1]/10)+MOD(RC[-1],10))"><Data
ss:Type="Number">8</Data></Cell>
</Row>
<Row>
<Cell ss:StyleID="s36"><Data ss:Type="Number">11</Data></Cell>
<Cell ss:StyleID="s37" ss:Formula="=MID(R5C7,21-RC[-1],1)"><Data
ss:Type="String">3</Data></Cell>
<Cell ss:StyleID="s36"><Data ss:Type="Number">1</Data></Cell>
<Cell ss:StyleID="s36" ss:Formula="=RC[-2]*RC[-1]"><Data ss:Type="Number">3</Data></Cell>
<Cell ss:StyleID="s36"
ss:Formula="=IF(RC[-1]&lt;10,RC[-1],INT(RC[-1]/10)+MOD(RC[-1],10))"><Data
ss:Type="Number">3</Data></Cell>
</Row>
<Row>
<Cell ss:StyleID="s36"><Data ss:Type="Number">12</Data></Cell>
<Cell ss:StyleID="s37" ss:Formula="=MID(R5C7,21-RC[-1],1)"><Data
ss:Type="String">2</Data></Cell>
<Cell ss:StyleID="s36"><Data ss:Type="Number">2</Data></Cell>
<Cell ss:StyleID="s36" ss:Formula="=RC[-2]*RC[-1]"><Data ss:Type="Number">4</Data></Cell>
<Cell ss:StyleID="s36"
ss:Formula="=IF(RC[-1]&lt;10,RC[-1],INT(RC[-1]/10)+MOD(RC[-1],10))"><Data
ss:Type="Number">4</Data></Cell>
</Row>
<Row>
<Cell ss:StyleID="s36"><Data ss:Type="Number">13</Data></Cell>
<Cell ss:StyleID="s37" ss:Formula="=MID(R5C7,21-RC[-1],1)"><Data
ss:Type="String">1</Data></Cell>
<Cell ss:StyleID="s36"><Data ss:Type="Number">1</Data></Cell>
<Cell ss:StyleID="s36" ss:Formula="=RC[-2]*RC[-1]"><Data ss:Type="Number">1</Data></Cell>

<Cell ss:StyleID="s36"
ss:Formula="=IF(RC[-1]&lt;10,RC[-1],INT(RC[-1]/10)+MOD(RC[-1],10))"><Data
ss:Type="Number">1</Data></Cell>
</Row>
<Row>
<Cell ss:StyleID="s36"><Data ss:Type="Number">14</Data></Cell>
<Cell ss:StyleID="s37" ss:Formula="=MID(R5C7,21-RC[-1],1)"><Data
ss:Type="String">4</Data></Cell>
<Cell ss:StyleID="s36"><Data ss:Type="Number">2</Data></Cell>
<Cell ss:StyleID="s36" ss:Formula="=RC[-2]*RC[-1]"><Data ss:Type="Number">8</Data></Cell>
<Cell ss:StyleID="s36"
ss:Formula="=IF(RC[-1]&lt;10,RC[-1],INT(RC[-1]/10)+MOD(RC[-1],10))"><Data
ss:Type="Number">8</Data></Cell>
</Row>
<Row>
<Cell ss:StyleID="s36"><Data ss:Type="Number">15</Data></Cell>
<Cell ss:StyleID="s37" ss:Formula="=MID(R5C7,21-RC[-1],1)"><Data
ss:Type="String">5</Data></Cell>
<Cell ss:StyleID="s36"><Data ss:Type="Number">1</Data></Cell>
<Cell ss:StyleID="s36" ss:Formula="=RC[-2]*RC[-1]"><Data ss:Type="Number">5</Data></Cell>
<Cell ss:StyleID="s36"
ss:Formula="=IF(RC[-1]&lt;10,RC[-1],INT(RC[-1]/10)+MOD(RC[-1],10))"><Data
ss:Type="Number">5</Data></Cell>
</Row>
<Row>
<Cell ss:StyleID="s36"><Data ss:Type="Number">16</Data></Cell>
<Cell ss:StyleID="s37" ss:Formula="=MID(R5C7,21-RC[-1],1)"><Data
ss:Type="String">0</Data></Cell>
<Cell ss:StyleID="s36"><Data ss:Type="Number">2</Data></Cell>
<Cell ss:StyleID="s36" ss:Formula="=RC[-2]*RC[-1]"><Data ss:Type="Number">0</Data></Cell>

<Cell ss:StyleID="s36"
ss:Formula="=IF(RC[-1]&lt;10,RC[-1],INT(RC[-1]/10)+MOD(RC[-1],10))"><Data
ss:Type="Number">0</Data></Cell>
</Row>
<Row>
<Cell ss:StyleID="s36"><Data ss:Type="Number">17</Data></Cell>
<Cell ss:StyleID="s37" ss:Formula="=MID(R5C7,21-RC[-1],1)"><Data
ss:Type="String">0</Data></Cell>
<Cell ss:StyleID="s36"><Data ss:Type="Number">1</Data></Cell>
<Cell ss:StyleID="s36" ss:Formula="=RC[-2]*RC[-1]"><Data ss:Type="Number">0</Data></Cell>
<Cell ss:StyleID="s36"
ss:Formula="=IF(RC[-1]&lt;10,RC[-1],INT(RC[-1]/10)+MOD(RC[-1],10))"><Data
ss:Type="Number">0</Data></Cell>
</Row>
<Row>
<Cell ss:StyleID="s36"><Data ss:Type="Number">18</Data></Cell>
<Cell ss:StyleID="s37" ss:Formula="=MID(R5C7,21-RC[-1],1)"><Data
ss:Type="String">0</Data></Cell>
<Cell ss:StyleID="s36"><Data ss:Type="Number">2</Data></Cell>
<Cell ss:StyleID="s36" ss:Formula="=RC[-2]*RC[-1]"><Data ss:Type="Number">0</Data></Cell>
<Cell ss:StyleID="s36"
ss:Formula="=IF(RC[-1]&lt;10,RC[-1],INT(RC[-1]/10)+MOD(RC[-1],10))"><Data
ss:Type="Number">0</Data></Cell>
</Row>
<Row>
<Cell ss:StyleID="s36"><Data ss:Type="Number">19</Data></Cell>
<Cell ss:StyleID="s37" ss:Formula="=MID(R5C7,21-RC[-1],1)"><Data
ss:Type="String">0</Data></Cell>
<Cell ss:StyleID="s36"><Data ss:Type="Number">1</Data></Cell>
<Cell ss:StyleID="s36" ss:Formula="=RC[-2]*RC[-1]"><Data ss:Type="Number">0</Data></Cell>

<Cell ss:StyleID="s36"
ss:Formula="=IF(RC[-1]&lt;10,RC[-1],INT(RC[-1]/10)+MOD(RC[-1],10))"><Data
ss:Type="Number">0</Data></Cell>
</Row>
<Row ss:Height="13.5">
<Cell ss:StyleID="s36"><Data ss:Type="Number">20</Data></Cell>
<Cell ss:StyleID="s37" ss:Formula="=MID(R5C7,21-RC[-1],1)"><Data
ss:Type="String">0</Data></Cell>
<Cell ss:StyleID="s36"><Data ss:Type="Number">2</Data></Cell>
<Cell ss:StyleID="s36" ss:Formula="=RC[-2]*RC[-1]"><Data ss:Type="Number">0</Data></Cell>
<Cell ss:StyleID="s36"
ss:Formula="=IF(RC[-1]&lt;10,RC[-1],INT(RC[-1]/10)+MOD(RC[-1],10))"><Data
ss:Type="Number">0</Data></Cell>
</Row>
<Row>
<Cell ss:StyleID="s36"/>
<Cell ss:StyleID="s37"/>
<Cell ss:StyleID="s36"/>
<Cell ss:StyleID="s36"/>
<Cell ss:StyleID="s38" ss:Formula="=SUM(R[-20]C:R[-1]C)"><Data ss:Type="Number">70</Data></Cell>
<Cell><Data ss:Type="String">Grand Total (Checksum)</Data></Cell>
</Row>
</Table>
<WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel">
<PageSetup>
<Header x:Data="&amp;A"/>
<Footer x:Data="Page &amp;P"/>
</PageSetup>
<Print>
<ValidPrinterInfo/>

<HorizontalResolution>600</HorizontalResolution>
<VerticalResolution>600</VerticalResolution>
</Print>
<Selected/>
<Panes>
<Pane>
<Number>3</Number>
<ActiveCol>4</ActiveCol>
</Pane>
</Panes>
<ProtectObjects>True</ProtectObjects>
<ProtectScenarios>True</ProtectScenarios>
</WorksheetOptions>
</Worksheet>
</Workbook>

Vous aimerez peut-être aussi