• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

EAN13 zichtbaar maken in een userform

  • Onderwerp starter Onderwerp starter HWV
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

HWV

Terugkerende gebruiker
Lid geworden
19 feb 2009
Berichten
1.213
Beste,

Ik heb in een excel sheet met daarin VBA om een artikeletiket te maken met een EAN13 code.
Dit werkt goed, enkel om fouten te voorkomen wilde ik het in een userform zetten wat tot zover gelukt is dat ik de barcode streepjes niet zichtbaar krijg in de userform.
Ik heb al aardig gezocht op het web maar helaas niet gevonden.
Heeft misschien één van jullie een idee!

Bekijk bijlage EAN13 etikettenuserform.docx
ean13 userform.jpg

Waar nu de 8HLETLH*adhiah+ staat dat is de barcode EAN 13 maar moet zichtbaar worden in streepjes

Bijlage screenshot Excel sheet met hoe het eruit ziet en hoe mijn userform er nu uit ziet.

Ik zou hier alle kunnen plaatsen maar doordat gekoppeld staat via VBA aan meerdere bestanden, wilde ik eerst kijken of we er zo uit kunnen komen.

HWV
 
Laatst bewerkt:
Streepjes zichtbaar in een userform

Beste,

Bedankt voor je reactie, het font heb ik al gedownload.
Met je tweede optie kom ik helaas niet uit.

Wat ik dus wil bereiken is de streepjes zichtbaar in een userform.
In de excel sheet is het gelukt enkel niet in de userform.
Een normale ean code is alleen maar met even grote streepjes die van mij moer er zo uit zien:

ean13_sample.png

Ik heb een functie gevonden die deze in een excel sheet goed weergeeft:

Code:
Public Function ean13$(chaine$)
  'V 1.0
  'Paramètres : une chaine de 12 chiffres
  'Retour : * une chaine qui, affichée avec la police EAN13.TTF, donne le code barre
  '         * une chaine vide si paramètre fourni incorrect
  Dim i%, checksum%, first%, CodeBarre$, tableA As Boolean
  ean13$ = ""
  'Vérifier qu'il y a 12 caractères
  If Len(chaine$) = 12 Then
    'Et que ce sont bien des chiffres
    For i% = 1 To 12
      If Asc(Mid$(chaine$, i%, 1)) < 48 Or Asc(Mid$(chaine$, i%, 1)) > 57 Then
        i% = 0
        Exit For
      End If
    Next
    If i% = 13 Then
      'Calcul de la clé de contrôle
      For i% = 2 To 12 Step 2
        checksum% = checksum% + Val(Mid$(chaine$, i%, 1))
      Next
      checksum% = checksum% * 3
      For i% = 1 To 11 Step 2
        checksum% = checksum% + Val(Mid$(chaine$, i%, 1))
      Next
      chaine$ = chaine$ & (10 - checksum% Mod 10) Mod 10
      'Le premier chiffre est pris tel quel, le deuxième vient de la table A
      CodeBarre$ = Left$(chaine$, 1) & Chr$(65 + Val(Mid$(chaine$, 2, 1)))
      first% = Val(Left$(chaine$, 1))
      For i% = 3 To 7
        tableA = False
         Select Case i%
         Case 3
           Select Case first%
           Case 0 To 3
             tableA = True
           End Select
         Case 4
           Select Case first%
           Case 0, 4, 7, 8
             tableA = True
           End Select
         Case 5
           Select Case first%
           Case 0, 1, 4, 5, 9
             tableA = True
           End Select
         Case 6
           Select Case first%
           Case 0, 2, 5, 6, 7
             tableA = True
           End Select
         Case 7
           Select Case first%
           Case 0, 3, 6, 8, 9
             tableA = True
           End Select
         End Select
       If tableA Then
         CodeBarre$ = CodeBarre$ & Chr$(65 + Val(Mid$(chaine$, i%, 1)))
       Else
         CodeBarre$ = CodeBarre$ & Chr$(75 + Val(Mid$(chaine$, i%, 1)))
       End If
     Next
      CodeBarre$ = CodeBarre$ & "*"   'Ajout séparateur central
      For i% = 8 To 13
        CodeBarre$ = CodeBarre$ & Chr$(97 + Val(Mid$(chaine$, i%, 1)))
      Next
      CodeBarre$ = CodeBarre$ & "+"   'Ajout de la marque de fin
      ean13$ = CodeBarre$
    End If
  End If
End Function

Maar ik wil in de userform waar ik nu een textbox voor de EAN code heb gereserveerd daarvoor gebruiken.

Ik hoef nu enkel het artikelnummer te wijzigen in de userform en hij trekt alle data uit 2 verschillende workbooks via VBA

Misschien onduidelijk omschreven maar ik hoop dat wat ik wil bereiken duidelijk is.
HWV
 
Ik zei al dat mijn voorkeur uitgaat naar de derde mogelijkheid en die heb je dan inderdaad nodig.

Of bedoel je simpelweg dit?
5njg2s.jpg
 
Laatst bewerkt:
Inderdaad Demoor dat is wat ik bedoel. Ik zie nu pas jou aanvullende bericht. Is dat makkelijk voorvelkaar te krijgen of heb jij daar een voorbeeld bestandje van.
Groet hwv
 
Heb het even in een bestandje gezet.
Vul in de onderste TB het gewenste nr in.
 

Bijlagen

Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan