Impression d´etiquette contenant un code barre 128

Résolu/Fermé
GermPeru Messages postés 172 Date d'inscription mercredi 7 décembre 2016 Statut Membre Dernière intervention 27 mars 2018 - 5 janv. 2017 à 23:48
GermPeru Messages postés 172 Date d'inscription mercredi 7 décembre 2016 Statut Membre Dernière intervention 27 mars 2018 - 6 janv. 2017 à 16:54
Bonjour a tous,

Je souhaite imprimer des etiquettes avec un code barre 128, j´ai bien évidement utilisé le code VBA du Grand grandzebu pour la convertion de ma chaine en code 128; tout fonctionne bien jusqu´au moment je concatene mon code barre a une variable; l erreur affiché est : "ByRef ne coincide pas"

Le code me permet d´imprimer autant détiquette qu il y a de "bulto", je lance l'impression de mes etiquettes depuis un userform, et je passe mes données sur une autre feuille pour simplifier (pour moi) mon impression.

Je nái aucune idée de ce que signiife type ByRef ne coincide pas et c' est la premiere fois que je suis confronté a ce type d´erreur.

Je suis comme d´habitude ouvert a tout type de sugestion, et merci d´avance

Codigobarra = UserEtiqueta.TxtCodigoBarra.Value

Dim j as variant

 For j = 1 To BultoT Step 1

With Sheets("Impression etiqueta").PageSetup
      .Zoom = 95
End With
   
    Sheets("Impression etiqueta").Range("d13").Value = j

'****************************************
'c'est a ce moment que cela bug
'*****************************************
 Sheets("Impression etiqueta").Range("b14").Value = Codigobarra  &  Code128$(j)
'*******************************************
'msg  il me surligne le j en me disant que le type ByRef ne coincide pas
'**********************************************
   
 Range("A1:F17").Select
 Selection.PrintOut Copies:=1, Collate:=True
 
 Next j

'pour la comprehension de mon code la ligne suivante se trouve ailleurs ds le code
' a l initialisation d' une combobox
  Me.TxtCodigoBarra = Code128$(Me.CbNAnalisis.Value & Mid(f.Cells(c.Row, 2), 4, 5))
A voir également:

1 réponse

yg_be Messages postés 22696 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 17 avril 2024 1 471
6 janv. 2017 à 00:36
bonsoir, je suggére de remplacer
Code128$(j)
par
Code128$(CStr(j))
-1
GermPeru Messages postés 172 Date d'inscription mercredi 7 décembre 2016 Statut Membre Dernière intervention 27 mars 2018
6 janv. 2017 à 15:15
Merci,

Cela fonctionne, mais j'ai concaténé le tout dans la fonction sinon j'avais comme un espace lors de la création de mon code barre qui n´etait pas lu mais bien encodé.

Pourriez vous m'indiquer le pourquoi d´utiliser cstr ,j´ai lu le "return values for CStr", mais je nái pas compris.

Pour ceux que cla peut intereser, le code pour codifier mon code barre.

Sheets("Impression etiqueta").Range("b14").Value = Code128$(UserEtiqueta.CbNAnalisis.Value & Mid(UserEtiqueta.TxtIDProducto, 4, 5) & CStr(j))


Merci yg_be
0
yg_be Messages postés 22696 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 17 avril 2024 1 471
6 janv. 2017 à 15:22
cstr, c'est pour convertir en chaîne de caractères.
visiblement, Code128$ refuse de recevoir un nombre comme paramètre, il exige une chaîne.
dans ton code final, je pense que le cstr n'est pas indispensable, mais c'est plus clair de l'avoir (puisque le nombre doit bien être transformé en caractères).
0
GermPeru Messages postés 172 Date d'inscription mercredi 7 décembre 2016 Statut Membre Dernière intervention 27 mars 2018 > yg_be Messages postés 22696 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 17 avril 2024
6 janv. 2017 à 16:54
Merci pour línformation, et je n' ai pas le choix, le code ne fonctionne pas sans CStr sur ma variable, ou que ce soit placé ma variable dans ma fonction.

Merci :)
0