Bonsoir
La fonction "Gauche" ?
Du genre : =GAUCHE(B1;12) ; affichera les 12 caractère de gauche de la cellule B1.
@+
Luc
Bonsoir
La fonction "Gauche" ?
Du genre : =GAUCHE(B1;12) ; affichera les 12 caractère de gauche de la cellule B1.
@+
Luc
----- Mail original -----
De: "Mamin Luc" <luc.mamin@helem.fr>
À: users@fr.libreoffice.org
Envoyé: Samedi 21 Septembre 2019 19:13:23
Objet: Re: [fr-users] Re: créer des codes barre EAN 13 à partir d'une référence à 13 chiffresBonsoir
La fonction "Gauche" ?
Du genre : =GAUCHE(B1;12) ; affichera les 12 caractère de gauche de
la
cellule B1.@+
Luc
bonjour,
il suffit de trouver le script en utilisant tr ou
sed and awk sur un fichier texte (csv)
merci pour votre aimable attention
bien à vous
bernard
Merci Luc : ça marche.
J'ai donc les 12 caractères de la ref. EAN sans la clé de contrôle dans une
cellule. J'applique la macro qui va bien puisque avec 12 chiffres, elle
fonctionne correctement.
J'obtiens donc le code barre EAN13 avec sa clé de contrôle.
Par contre, je n'ai pas compris la réponse de Bernard : désolé.
Merci Luc : ça marche.
J'ai donc les 12 caractères de la ref. EAN sans la clé de contrôle dans une
cellule. J'applique la macro qui va bien puisque avec 12 chiffres, elle
fonctionne correctement.
J'obtiens donc le code barre EAN13 avec sa clé de contrôle.
il faudrait ajouter un petit contrôle si la clé correspond bien à celle générée par la macro et ce serait parfait
et en partageant le résultat, ce serait 'plus-que-parfait' !
Par contre, je n'ai pas compris la réponse de Bernard : désolé.
je pense qu'elle était pour un autre fil
Gérard
Bonjour à tous,
Oui, j'allais poser justement la question. Gérard m'a précédé dans la
pensée.
Oui, effectivement, ce serait bien de vérifier si la clé générée par la
macro est bien identique à celle enlevée au départ. Une solution pour ça ?
Comme dit Gérard, ce serait plus que parfait !
Bonjour,
On n'y comprends plus rien:
Quelle est la problématique de départ??
Quelles sont les solutions proposées??
Cordialement.
Anne-Sophie.
----- Mail original -----
Bonsoir à tous,
Voici un petit résumé du fil de discussion :
1) Tout d'abord, j'ai besoin d'un tableau réalisé dans Calc pour produire
des codes barres EAN 13. Les codes barres EAN 13 sont produits à partir des
références EAN 13 issus d'un catalogue fournisseur.
Ce tableau servira à alimenter la base de données EAN 13 d'une caisse
enregistreuse de petit commerce. En scannant le code barres par la vendeuse,
la caisse automatique affichera automatiquement la désignation de l'article,
le prix, la quantité et sans doute d'autres renseignements complémentaires.
J'ai réalisé différents essais avec une extension qui ne correspond pas car
elle renvoie un message d'erreur (en fait, cette extension est devenue
obsolète).
D'où ma demande d'aide sur ce forum.
2) En première réponse : Franck a proposé d'utiliser la macro disponible
pour openoffice sur le site grandzebu :
https://grandzebu.net/informatique/codbar/ean13.htm
3) j'ai donc installé la macro (qui s'appelle essai code ean13.sxc) qui
provient du site grandzebu. Elle ne fonctionne que si on enlève la clé de
contrôle du code EAN13, cad le dernier chiffre à droite.
Petit rappel : la référence EAN13 comporte 13 chiffres. La clé de contrôle
du code EAN13 est le 13ème chiffre (le dernier situé à droite). Tout cela
est bien expliqué sur le lien du site grandzebu pour ceux qui voudraient
plus d'explications. J'avais aussi posé la question : comment importer une
macro dans LO. Entre temps, j'ai trouvé.
4) J'avais posé la question pour savoir si quelqu'un pourrait modifier la
macro pour qu'elle fonctionne aussi avec les 13 chiffres.
N'ayant pas eu de réponse, on (Franck et moi) avons contourné le problème en
enlevant la clé de contrôle pour que la macro puisse produire le code
barres.
D'où ma question : comment extraire la clé de contrôle de la référence EAN13
?
5) j'ai donc utilisé la fonction Gauche proposée par Luc qui permet
d'enlever la clé de contrôle de la référence EAN13. Ensuite, à partir de
cette valeur à 12 chiffres, la macro calcule bien la clé de contrôle et
affiche la code barre correspondant. En enlevant la clé, on obtient la clé
de contrôle calculée par la macro et le code barre associé.
6) Une précaution quand même pour être certain de la véracité des données :
vérifier que la clé de contrôle enlevée de la référence ean13 (avec la
fonction Gauche) avant le lancement de la macro est bien identique à la clé
de contrôle produite par la macro au moment de la création du code barres
ean13.
D'où ma dernière question : comment comparer la clé enlevée et la clé créée
par la macro ?
J'espère que cette synthèse vous conviendra.
j'en profite pour remercier tous ceux qui m'ont déjà répondu. Mon problème
est presque résolu.
Je mets en pièce jointe une petite partie du tableau. Les colonnes C, D et F
seront masquées. tableau_avec_macro_ean13_en_essai.ods
<http://document-foundation-mail-archive.969070.n3.nabble.com/file/t491156/tableau_avec_macro_ean13_en_essai.ods>
Bonsoir,
Parfait!
Si "tout le monde" pouvait:
1- Faire "Répondre à tous";
2- Au final "résumer" sa problématique et les réponses proposées ce serait génial et surtout plus facile pour suivre les fils de discussion.
Merci.
Anne-Sophie.
----- Mail original -----
Bonjour,
la fonction stxt(/codeEAN/;14;1) permet d'extraire le 14ème caractère
(lettre comprise entre a et j) du code généré par la macro.
la fonction TEXTE(CHERCHE(/14èmeCar/;"abcdefghij")-1;"#") donne la somme de
conrôle à comparer au dernier caractère du code initial à 13 chiffres.
je joins le fichier correspondant :
tableau_avec_macro_ean13_avec_test_checksum.ods
<http://document-foundation-mail-archive.969070.n3.nabble.com/file/t485575/tableau_avec_macro_ean13_avec_test_checksum.ods>
Franck
Bonjour,
Pourriez-vous rappeler la problématique de départ et les solutions proposées?
Merci.
Cordialement.
Anne-Sophie.
----- Mail original -----
Bonjour
À propos de ce fil :
- sa problématique est inscrite dans le sujet ;
- tous les messages du fil concernent bien la question de départ, sauf un peut-être (en même temps, j'y ai rien compris) ;
- une réponse a été faite par erreur en privé. Cela a été corrigé par Etienne qui a répondu à la liste ;
- quant Étienne écrit depuis Nabble, il s'appelle "Pingouin du bureau", quand il écrit depuis son Thunderbird, il s'appelle "Etienne", ça m'a troublé moins d'une seconde ;
- certaines réponses sont faites en ne sélectionnant qu'une partie d'un message reçu : je n'aime pas trop, mais cela est courant quand la réponse ne porte que sur un point précis.
Malgré une question initiale qui ne m'intéressait pas à priori, j'ai pu suivre facilement les échanges, d'autant que le message initial ayant été posté depuis la plate-forme nabble, les pieds de message contiennent le lien qui va bien pour y retrouver l'ensemble du fil si on le perd...
@+
Luc
Bonsoir à tous,
merci de ta réponse, Franck.
Pour améliorer encore un peu la lisibilité du tableau des codes barres, s'il
comporte des centaines ou milliers de lignes, serait-il possible d'ajouter
un compteur des cellules qui indiquent une erreur ko ? Je pourrai la mettre
dans une cellule en haut de tableau. Je verrai tout de suite s'il y a une
erreur ou pas.
Le problème, c'est que je ne connais pas vraiment les fonctions à part, la
fonction Somme.
Bonsoir,
Désolée du dérangement!!!
Cordialement.
Anne-Sophie.
----- Mail original -----
Je ne suis pas un spécialiste des tableurs, mais j'ai mis assez souvent le
nez dans l'aide... Perdre du temps à découvrir les fonctions, c'est en
gagner beaucoup !
La fonction NB.SI(/plageOùcompter/;critère) donne le résultat; dans ta
feuille j'ai rajouté en G1 (en haut comme tu le souhaites) la formule
=NB.SI(G2:G10000;"ko"). La formule fonctionne jusqu'à 10 000 lignes.
Pour t'encourager à lire l'aide j'ai aussi utilisé des formatages
conditionnels qui mettent en évidence les erreurs (en colonne G) ou
l'absence d'erreurs (en ligne1)
J'ai aussi supprimé les lignes vides (une sur deux) qui servaient sans doute
à "espacer"; cela permet de copier les formules en "tirant" le coin de la
cellule vers la cellule adjacente; pour l'espace il vaut mieux jouer sur la
hauteur des lignes.
le résultat dans le fichier joint :
tableau_avec_macro_ean13_avec_test_checksum+compteur.ods
<http://document-foundation-mail-archive.969070.n3.nabble.com/file/t485575/tableau_avec_macro_ean13_avec_test_checksum%2Bcompteur.ods>
Franck
Bonjour à tous,
J'ai 2 questions concernant le tableau ean13.
1) Comment mettre en couleur (par exemple, ici le rouge) quand la clé de
ctrl n'est pas bonne.
Je pensais trouver la solution dans formatage conditionnel ainsi que dans le
format des cellules. Je n'ai pas trouvé de différences dans les réglages.
Le rouge apparaît dans ton tableau mais dans le mien, si je crée une erreur,
il affiche bien ko mais n'affiche pas la cellule en rouge.
2) Franck, pourquoi ta formule de recherche de texte porte sur le 14ème
chiffre ? Je n'ai pas trop compris pourquoi !
Nota : J'ai retenu l'astuce de ne pas insérer des lignes vierges mais plutôt
d'augmenter la hauteur des lignes dont on a besoin quand on a besoin de plus
de lisibilité.
Encore merci.
Bonjour à tous,
J'ai 2 questions concernant le tableau ean13.
1) Comment mettre en couleur (par exemple, ici le rouge) quand la clé de
ctrl n'est pas bonne.
Je pensais trouver la solution dans formatage conditionnel ainsi que dans le
format des cellules. Je n'ai pas trouvé de différences dans les réglages.
Le rouge apparaît dans ton tableau mais dans le mien, si je crée une erreur,
il affiche bien ko mais n'affiche pas la cellule en rouge.
2) Pourquoi ta formule de recherche de texte porte sur le 14ème chiffre ?
Je n'ai pas trop compris pourquoi !
Nota : J'ai retenu l'astuce de ne pas insérer des lignes vierges mais plutôt
d'augmenter la hauteur des lignes dont on a besoin quand on a besoin de plus
de lisibilité.
Bonjour à tous,
J'ai 2 questions concernant le tableau ean13.
1) Comment mettre en couleur (par exemple, ici le rouge) quand la clé de
ctrl n'est pas bonne.
Je pensais trouver la solution dans formatage conditionnel ainsi que dans le
format des cellules. Je n'ai pas trouvé de différences dans les réglages.
Le rouge apparaît dans ton tableau mais dans le mien, si je crée une erreur,
il affiche bien ko mais n'affiche pas la cellule en rouge.
Oui c'est bien le formatage conditionnel qui le permet. Ouvre mon fichier et dans le menu accède à Format>Conditionnel>Gérer...
Dans la fenêtre qui s'ouvre tu vois le formatage conditionnel des cellules G2 à G10000 (celles du résultat du test). Avec le bouton "Éditer..." tu accèdes aux détails : le style à appliquer lorsque la valeur est "ko", est "Error" (c'est dans ma version un style prédéfini, que j'ai un peu modifié). Tu peux mettre ici le style que tu veux pourvu que tu l'aies créé et qu'il figure dans la liste.
Pour que le style s'applique sur tes cellules, il faut aussi qu'elles soient dans la plage du formatage...
2) Pourquoi ta formule de recherche de texte porte sur le 14ème chiffre ?
Je n'ai pas trop compris pourquoi !
Prends le premier code du fichier 3580794153764, 358079415376 sans la clé de contrôle (4). Quand tu appliques la macro tu obtiens : 3FIKRTE*bfdhge+
3 est le premier caractère, "FIKRTE" correspondent à 580794 (caractères 2 à 7), * donne le symbole de séparation (double barre) et constitue le 8ème caractère, "bfdhg" correspondent à 15376 (caractères 9 à 13) et le 14ème caractère "e" correspond à la checksum 4. C'est bien ce 14ème caractère qu'il faut extraire et situer dans la liste "abcdefghij" ("a" est à la première place et correspond au 0; "e" est la 5ème place -1 = 4).
Nota : J'ai retenu l'astuce de ne pas insérer des lignes vierges mais plutôt
d'augmenter la hauteur des lignes dont on a besoin quand on a besoin de plus
de lisibilité.
Cordialement,
Franck
merci Franck pour toutes ces précisions.
Par contre, je viens de découvrir que la formule (G2 à G10) qui teste la
clé de ctrl ne fonctionne pas correctement dans le cas suivant :
lignes 3 et 5 :
si les 12 ème et 13 ème caractères sont identiques (cas de A3 et A5), si
j'efface le dernier chiffre en A3 ou A5, la formule renvoie quand même ok
alors que la clé ean est mauvaise.
Par contre, elle fonctionne bien et renvoie bien ko sur les autres valeurs
si la clé est mauvaise.
J'ai essayé de modifier la formule Droite mais cela ne fonctionne pas !
merci Franck pour toutes ces précisions.
Par contre, je viens de découvrir que la formule (G2 à G10) qui teste la
clé de ctrl ne fonctionne pas correctement dans le cas suivant :
lignes 3 et 5 :
si les 12 ème et 13 ème caractères sont identiques (cas de A3 et A5), si
j'efface le dernier chiffre en A3 ou A5, la formule renvoie quand même ok
alors que la clé ean est mauvaise.
Je ne comprends pas pourquoi tu supprimes le dernier chiffre en colonne A; cette colonne doit contenir un code à treize chiffres ! Pour tester si la formule fonctionne tu peux modifier le dernier chiffre des données de la colonne A, mais pas le supprimer. Si ce dernier chiffre est identique à celui de la colonne F alors le code en A est un code valid.
Oui, tu as raison.
Pour créer une erreur sur la clé, il faut modifier le dernier chiffre et non
le supprimer.
Je commence à fatiguer !