{"id":473,"date":"2022-12-07T09:10:04","date_gmt":"2022-12-07T08:10:04","guid":{"rendered":"http:\/\/lesmrdtrucs.mataf35400.fr\/?page_id=473"},"modified":"2022-12-07T09:22:44","modified_gmt":"2022-12-07T08:22:44","slug":"code128","status":"publish","type":"page","link":"https:\/\/lesmrdtrucs.mataf35400.fr\/index.php\/code128\/","title":{"rendered":"Code128"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"473\" class=\"elementor elementor-473\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-3adbc449 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"3adbc449\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-4631b6ad\" data-id=\"4631b6ad\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-550bc873 elementor-widget elementor-widget-heading\" data-id=\"550bc873\" data-element_type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;none&quot;}\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Table A\tMajuscules - chiffres - caract\u00e8res non imprimables<\/h2>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-2c5c5d6b elementor-widget elementor-widget-text-editor\" data-id=\"2c5c5d6b\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p><span style=\"color: #0000ff;\"><em>Public Function Code128_A(MaChaine) As String<\/em><\/span><br \/><span style=\"color: #339966;\"><em>\u00a0\u00a0 \u00a0&lsquo;V 1.0<\/em><\/span><br \/><span style=\"color: #339966;\"><em>\u00a0\u00a0 \u00a0&lsquo;Param\u00e8tres : une chaine<\/em><\/span><br \/><span style=\"color: #339966;\"><em>\u00a0\u00a0 \u00a0&lsquo;Retour : * une chaine qui, affich\u00e9e avec la police CODE128.TTF, donne le code barre<\/em><\/span><br \/><span style=\"color: #339966;\"><em>\u00a0\u00a0 \u00a0&lsquo;\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0* une chaine vide si param\u00e8tre fourni incorrect<\/em><\/span><\/p><p><span style=\"color: #0000ff;\"><em>\u00a0\u00a0 \u00a0Dim i%, checksum&amp;, mini%, dummy%, tableA As Boolean<\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>\u00a0\u00a0 \u00a0Code128_A = \u00ab\u00a0\u00a0\u00bb<\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>\u00a0\u00a0 \u00a0MaChaine = Replace(MaChaine, \u00ab\u00a0&lt;TAB&gt;\u00a0\u00bb, Chr(105))<\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>\u00a0\u00a0 \u00a0MaChaine = Replace(MaChaine, \u00ab\u00a0&lt;CR&gt;\u00a0\u00bb, Chr(109))<\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>\u00a0\u00a0\u00a0 If Len(MaChaine) &gt; 0 Then<\/em><\/span><br \/><span style=\"color: #339966;\"><em>\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0&lsquo;V\u00e9rifier si caract\u00e8res valides<\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0For i% = 1 To Len(MaChaine)<\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0Select Case Asc(Mid$(MaChaine, i%, 1))<\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0Case 73, 13, 32 To 126<\/em><\/span><\/p><p><span style=\"color: #0000ff;\"><em>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0Case Else<\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0i% = 0<\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0Exit For<\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0End Select<\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0Next\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0<\/em><\/span><\/p><p><span style=\"color: #339966;\"><em>\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0&lsquo;Calculer la chaine de code en utilisant la table A<\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0Code128_A = \u00ab\u00a0\u00a0\u00bb<\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0tableA = True<\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0If i% &gt; 0 Then<\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0i% = 1 <span style=\"color: #339966;\">&lsquo;i% devient l&rsquo;index sur la chaine<\/span><\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0Do While i% &lt;= Len(MaChaine)<\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0If i% = 1 Then <span style=\"color: #339966;\">&lsquo;D\u00e9buter sur table A<\/span><\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0Code128_A = Chr$(203)<\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0End If<\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0&lsquo;Traiter 1 caract\u00e8re en table B<\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0Code128_A = Code128_A &amp; Mid$(MaChaine, i%, 1)<\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0i% = i% + 1<\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0Loop<\/em><\/span><\/p><p><span style=\"color: #339966;\"><em>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0&lsquo;Calcul de la cl\u00e9 de contr\u00f4le<\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0For i% = 1 To Len(Code128_A)<\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0dummy% = Asc(Mid$(Code128_A, i%, 1))<\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0dummy% = IIf(dummy% &lt; 127, dummy% &#8211; 32, dummy% &#8211; 100)<\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0If i% = 1 Then checksum&amp; = dummy%<\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0checksum&amp; = (checksum&amp; + (i% &#8211; 1) * dummy%) Mod 103<\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0Next<\/em><\/span><\/p><p><span style=\"color: #339966;\"><em>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0&lsquo;Calcul du code ASCII de la cl\u00e9<\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0checksum&amp; = IIf(checksum&amp; &lt; 95, checksum&amp; + 32, checksum&amp; + 100)<\/em><\/span><br \/><span style=\"color: #339966;\"><em>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0&lsquo;Ajout de la cl\u00e9 et du STOP<\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0Code128_A = Code128_A &amp; Chr$(checksum&amp;) &amp; Chr$(206)<\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0End If<\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>\u00a0\u00a0 \u00a0End If<\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>End Function<\/em><\/span><\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-224463fa elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"224463fa\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-54b21bb1\" data-id=\"54b21bb1\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-3c6010b5 elementor-widget elementor-widget-heading\" data-id=\"3c6010b5\" data-element_type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;none&quot;}\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Table B\tMajuscules - minuscules - chiffres<\/h2>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1a47fa57 elementor-widget elementor-widget-text-editor\" data-id=\"1a47fa57\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p><span style=\"color: #0000ff;\"><em>Public Function Code128$(chaine$)<\/em><\/span><br \/><span style=\"color: #339966;\"><em>\u00a0 &lsquo;V 2.0.0<\/em><\/span><br \/><span style=\"color: #339966;\"><em>\u00a0 &lsquo;Param\u00e8tres : une chaine<\/em><\/span><br \/><span style=\"color: #339966;\"><em>\u00a0 &lsquo;Retour : * une chaine qui, affich\u00e9e avec la police CODE128.TTF, donne le code barre<\/em><\/span><br \/><span style=\"color: #339966;\"><em>\u00a0 &lsquo;\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 * une chaine vide si param\u00e8tre fourni incorrect<\/em><\/span><br \/><br \/><span style=\"color: #0000ff;\"><em>\u00a0 Dim i%, checksum&amp;, mini%, dummy%, tableB As Boolean<\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>\u00a0 Code128$ = \u00ab\u00a0\u00a0\u00bb<\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>\u00a0 If Len(chaine$) &gt; 0 Then<\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>\u00a0 \u00a0\u00a0 \u00a0&lsquo;V\u00e9rifier si caract\u00e8res valides<\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>\u00a0 \u00a0\u00a0 \u00a0For i% = 1 To Len(chaine$)<\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>\u00a0\u00a0\u00a0\u00a0\u00a0 Select Case Asc(Mid$(chaine$, i%, 1))<\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0Case 32 To 126, 203<\/em><\/span><br \/><br \/><br \/><span style=\"color: #0000ff;\"><em>\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0Case Else<\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0i% = 0<\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0Exit For<\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>\u00a0\u00a0\u00a0\u00a0\u00a0 End Select<\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>\u00a0 Next<\/em><\/span><br \/><br \/><span style=\"color: #339966;\"><em>\u00a0\u00a0\u00a0 &lsquo;Calculer la chaine de code en optimisant l&rsquo;usage des tables B et C<\/em><\/span><br \/><br \/><span style=\"color: #0000ff;\"><em>Code128$ = \u00ab\u00a0\u00a0\u00bb<\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>\u00a0\u00a0\u00a0 tableB = True<\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>\u00a0\u00a0\u00a0 If i% &gt; 0 Then<\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>\u00a0\u00a0\u00a0\u00a0\u00a0 i% = 1 <span style=\"color: #339966;\">&lsquo;i% devient l&rsquo;index sur la chaine \/ i% become the string index<\/span><\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>\u00a0\u00a0\u00a0\u00a0\u00a0 Do While i% &lt;= Len(chaine$)<\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 If tableB Then<\/em><\/span><br \/><span style=\"color: #339966;\"><em>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 &lsquo;Voir si int\u00e9ressant de passer en table C \/ See if interesting to switch to table C<\/em><\/span><br \/><span style=\"color: #339966;\"><em>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 &lsquo;Oui pour 4 chiffres au d\u00e9but ou \u00e0 la fin, sinon pour 6 chiffres \/ yes for 4 digits at start or end, else if 6 digits<\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 mini% = IIf(i% = 1 Or i% + 3 = Len(chaine$), 4, 6)<\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 GoSub testnum<\/em><\/span><br \/><br \/><span style=\"color: #0000ff;\"><em>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 If mini% &lt; 0 Then <span style=\"color: #339966;\">&lsquo;Choix table C \/ Choice of table C<\/span><\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 If i% = 1 Then <span style=\"color: #339966;\">&lsquo;D\u00e9buter sur table C \/ Starting with table C<\/span><\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Code128$ = Chr$(210)<\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Else <span style=\"color: #339966;\">&lsquo;Commuter sur table C \/ Switch to table C<\/span><\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Code128$ = Code128$ &amp; Chr$(204)<\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 End If<\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 tableB = False<\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Else<\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 If i% = 1 Then Code128$ = Chr$(209) <span style=\"color: #339966;\">&lsquo;D\u00e9buter sur table B \/ Starting with table B<\/span><\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 End If<\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 End If<\/em><\/span><br \/><br \/><span style=\"color: #0000ff;\"><em>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 If Not tableB Then<\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #339966;\"> &lsquo;On est sur la table C, essayer de traiter 2 chiffres \/ We are on table C, try to process 2 digits<\/span><\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 mini% = 2<\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 GoSub testnum<\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 If mini% &lt; 0 Then <span style=\"color: #339966;\">&lsquo;OK pour 2 chiffres, les traiter \/ OK for 2 digits, process it<\/span><\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 dummy% = Val(Mid$(chaine$, i%, 2))<\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 dummy% = IIf(dummy% &lt; 95, dummy% + 32, dummy% + 105)<\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Code128$ = Code128$ &amp; Chr$(dummy%)<\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 i% = i% + 2<\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Else <span style=\"color: #339966;\">&lsquo;On n&rsquo;a pas 2 chiffres, repasser en table B \/ We haven&rsquo;t 2 digits, switch to table B<\/span><\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Code128$ = Code128$ &amp; Chr$(205)<\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 tableB = True<\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 End If<\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 End If<\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 If tableB Then<\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <span style=\"color: #339966;\">&lsquo;Traiter 1 caract\u00e8re en table B \/ Process 1 digit with table B<\/span><\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Code128$ = Code128$ &amp; Mid$(chaine$, i%, 1)<\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 i% = i% + 1<\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 End If<\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>\u00a0\u00a0\u00a0\u00a0\u00a0 Loop<\/em><\/span><br \/><br \/><span style=\"color: #0000ff;\"><em>\u00a0\u00a0\u00a0\u00a0\u00a0 <span style=\"color: #339966;\">&lsquo;Calcul de la cl\u00e9 de contr\u00f4le \/ Calculation of the checksum<\/span><\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>\u00a0\u00a0\u00a0\u00a0\u00a0 For i% = 1 To Len(Code128$)<\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 dummy% = Asc(Mid$(Code128$, i%, 1))<\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 dummy% = IIf(dummy% &lt; 127, dummy% &#8211; 32, dummy% &#8211; 105)<\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 If i% = 1 Then checksum&amp; = dummy%<\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 checksum&amp; = (checksum&amp; + (i% &#8211; 1) * dummy%) Mod 103<\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>\u00a0\u00a0\u00a0\u00a0\u00a0 Next<\/em><\/span><br \/><br \/><span style=\"color: #0000ff;\"><em>\u00a0\u00a0\u00a0\u00a0\u00a0 <span style=\"color: #339966;\">&lsquo;Calcul du code ASCII de la cl\u00e9 \/ Calculation of the checksum ASCII code<\/span><\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>\u00a0\u00a0\u00a0\u00a0\u00a0 checksum&amp; = IIf(checksum&amp; &lt; 95, checksum&amp; + 32, checksum&amp; + 105)<\/em><\/span><br \/><br \/><span style=\"color: #0000ff;\"><em>\u00a0\u00a0\u00a0\u00a0\u00a0 <span style=\"color: #339966;\">&lsquo;Ajout de la cl\u00e9 et du STOP \/ Add the checksum and the STOP<\/span><\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>\u00a0\u00a0\u00a0\u00a0\u00a0 Code128$ = Code128$ &amp; Chr$(checksum&amp;) &amp; Chr$(211)<\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>\u00a0\u00a0\u00a0 End If<\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>\u00a0 End If<\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>\u00a0 Exit Function<\/em><\/span><br \/><br \/><span style=\"color: #0000ff;\"><em>testnum:<\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>\u00a0<span style=\"color: #339966;\"> &lsquo;si les mini% caract\u00e8res \u00e0 partir de i% sont num\u00e9riques, alors mini%=0<\/span><\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>\u00a0\u00a0 mini% = mini% &#8211; 1<\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>\u00a0 If i% + mini% &lt;= Len(chaine$) Then<\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>\u00a0\u00a0\u00a0 Do While mini% &gt;= 0<\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>\u00a0\u00a0\u00a0\u00a0\u00a0 If Asc(Mid$(chaine$, i% + mini%, 1)) &lt; 48 Or Asc(Mid$(chaine$, i% + mini%, 1)) &gt; 57 Then Exit D<\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>\u00a0\u00a0\u00a0\u00a0\u00a0 mini% = mini% &#8211; 1<\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>\u00a0\u00a0\u00a0 Loop<\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>\u00a0 End If<\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>Return<\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>End Function<\/em><\/span><\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Table A Majuscules &#8211; chiffres &#8211; caract\u00e8res non imprimables Public Function Code128_A(MaChaine) As String\u00a0\u00a0 \u00a0&lsquo;V 1.0\u00a0\u00a0 \u00a0&lsquo;Param\u00e8tres : une chaine\u00a0\u00a0 \u00a0&lsquo;Retour : * une chaine qui, affich\u00e9e avec la police CODE128.TTF, donne le code barre\u00a0\u00a0 \u00a0&lsquo;\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0* une chaine vide si param\u00e8tre fourni incorrect \u00a0\u00a0 \u00a0Dim i%, checksum&amp;, mini%, dummy%, tableA As Boolean\u00a0\u00a0 \u00a0Code128_A [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"ocean_post_layout":"","ocean_both_sidebars_style":"","ocean_both_sidebars_content_width":0,"ocean_both_sidebars_sidebars_width":0,"ocean_sidebar":"","ocean_second_sidebar":"","ocean_disable_margins":"enable","ocean_add_body_class":"","ocean_shortcode_before_top_bar":"","ocean_shortcode_after_top_bar":"","ocean_shortcode_before_header":"","ocean_shortcode_after_header":"","ocean_has_shortcode":"","ocean_shortcode_after_title":"","ocean_shortcode_before_footer_widgets":"","ocean_shortcode_after_footer_widgets":"","ocean_shortcode_before_footer_bottom":"","ocean_shortcode_after_footer_bottom":"","ocean_display_top_bar":"default","ocean_display_header":"default","ocean_header_style":"","ocean_center_header_left_menu":"","ocean_custom_header_template":"","ocean_custom_logo":0,"ocean_custom_retina_logo":0,"ocean_custom_logo_max_width":0,"ocean_custom_logo_tablet_max_width":0,"ocean_custom_logo_mobile_max_width":0,"ocean_custom_logo_max_height":0,"ocean_custom_logo_tablet_max_height":0,"ocean_custom_logo_mobile_max_height":0,"ocean_header_custom_menu":"","ocean_menu_typo_font_family":"","ocean_menu_typo_font_subset":"","ocean_menu_typo_font_size":0,"ocean_menu_typo_font_size_tablet":0,"ocean_menu_typo_font_size_mobile":0,"ocean_menu_typo_font_size_unit":"px","ocean_menu_typo_font_weight":"","ocean_menu_typo_font_weight_tablet":"","ocean_menu_typo_font_weight_mobile":"","ocean_menu_typo_transform":"","ocean_menu_typo_transform_tablet":"","ocean_menu_typo_transform_mobile":"","ocean_menu_typo_line_height":0,"ocean_menu_typo_line_height_tablet":0,"ocean_menu_typo_line_height_mobile":0,"ocean_menu_typo_line_height_unit":"","ocean_menu_typo_spacing":0,"ocean_menu_typo_spacing_tablet":0,"ocean_menu_typo_spacing_mobile":0,"ocean_menu_typo_spacing_unit":"","ocean_menu_link_color":"","ocean_menu_link_color_hover":"","ocean_menu_link_color_active":"","ocean_menu_link_background":"","ocean_menu_link_hover_background":"","ocean_menu_link_active_background":"","ocean_menu_social_links_bg":"","ocean_menu_social_hover_links_bg":"","ocean_menu_social_links_color":"","ocean_menu_social_hover_links_color":"","ocean_disable_title":"default","ocean_disable_heading":"default","ocean_post_title":"","ocean_post_subheading":"","ocean_post_title_style":"","ocean_post_title_background_color":"","ocean_post_title_background":0,"ocean_post_title_bg_image_position":"","ocean_post_title_bg_image_attachment":"","ocean_post_title_bg_image_repeat":"","ocean_post_title_bg_image_size":"","ocean_post_title_height":0,"ocean_post_title_bg_overlay":0.5,"ocean_post_title_bg_overlay_color":"","ocean_disable_breadcrumbs":"default","ocean_breadcrumbs_color":"","ocean_breadcrumbs_separator_color":"","ocean_breadcrumbs_links_color":"","ocean_breadcrumbs_links_hover_color":"","ocean_display_footer_widgets":"default","ocean_display_footer_bottom":"default","ocean_custom_footer_template":"","footnotes":""},"class_list":["post-473","page","type-page","status-publish","hentry","entry"],"_links":{"self":[{"href":"https:\/\/lesmrdtrucs.mataf35400.fr\/index.php\/wp-json\/wp\/v2\/pages\/473","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/lesmrdtrucs.mataf35400.fr\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/lesmrdtrucs.mataf35400.fr\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/lesmrdtrucs.mataf35400.fr\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/lesmrdtrucs.mataf35400.fr\/index.php\/wp-json\/wp\/v2\/comments?post=473"}],"version-history":[{"count":7,"href":"https:\/\/lesmrdtrucs.mataf35400.fr\/index.php\/wp-json\/wp\/v2\/pages\/473\/revisions"}],"predecessor-version":[{"id":485,"href":"https:\/\/lesmrdtrucs.mataf35400.fr\/index.php\/wp-json\/wp\/v2\/pages\/473\/revisions\/485"}],"wp:attachment":[{"href":"https:\/\/lesmrdtrucs.mataf35400.fr\/index.php\/wp-json\/wp\/v2\/media?parent=473"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}