Signaler

Impression d´etiquette contenant un code barre 128 [Résolu]

Posez votre question GermPeru 148Messages postés mercredi 7 décembre 2016Date d'inscription 20 septembre 2017 Dernière intervention - Dernière réponse le 6 janv. 2017 à 16:54 par GermPeru
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))
Utile
-1
plus moins
bonsoir, je suggére de remplacer
Code128$(j)
par
Code128$(CStr(j))
GermPeru 148Messages postés mercredi 7 décembre 2016Date d'inscription 20 septembre 2017 Dernière intervention - 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
Répondre
yg_be 3526Messages postés lundi 9 juin 2008Date d'inscription ContributeurStatut 10 octobre 2017 Dernière intervention - 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).
Répondre
GermPeru 148Messages postés mercredi 7 décembre 2016Date d'inscription 20 septembre 2017 Dernière intervention - 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 :)
Répondre
Donnez votre avis

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !