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

Signaler
Messages postés
172
Date d'inscription
mercredi 7 décembre 2016
Statut
Membre
Dernière intervention
27 mars 2018
-
Messages postés
172
Date d'inscription
mercredi 7 décembre 2016
Statut
Membre
Dernière intervention
27 mars 2018
-
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))

1 réponse

Messages postés
15565
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
10 mai 2021
849
bonsoir, je suggére de remplacer
Code128$(j)
par
Code128$(CStr(j))
Messages postés
172
Date d'inscription
mercredi 7 décembre 2016
Statut
Membre
Dernière intervention
27 mars 2018

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
Messages postés
15565
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
10 mai 2021
849
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).
Messages postés
172
Date d'inscription
mercredi 7 décembre 2016
Statut
Membre
Dernière intervention
27 mars 2018
>
Messages postés
15565
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
10 mai 2021

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 :)