Codason
Ce wiki a été archivé en 2018.
Le nouveau wiki se trouve à: ressources.labomedia.org Les fonctionnalités sont désactivées: vous pouvez faire une recherche sur Google site:https://wiki.labomedia.org et découvrir La Labomedia. |
Codason |
---|
Pour modifier la page utiliser l'onglet Modifier avec formulaire.
Résumé | élément du Cabinet de Curiosité Numérique |
---|---|
Auteur(s) | gaziel |
Licence | CC0 |
Date de création | 21 avril 1932 |
Sommaire
Intentions / Contexte
Principe de fonctionnement
macro excel et douchette et code barre = sons!
Besoins / Compétences
Documentation
Présentation :
Un bureau décoré d'une multitude d'étiquettes , chaque étiquette représente un code-barre, unique.
Une chaise décorée à l'identique;
on remarque que le pc , l’écran cathodique, le clavier et la sourie sont , vierge d'étiquettes.
Sur l'écran un tableur : on reconnait une colonne remplie de chiffres et un graphique.
naturellement, on attrape la douchette-pistolet, posée négligemment et on essaye de scanner un code a barre.
En cas de réussite , un mot incongru sort des enceintes .
Création des étiquettes
on utilise une imprimante thermique a étiquettes
pas d'encre (les étiquettes sont enduite d'une couche thermosensible a la chaleur) un logiciel ( ici ZEBRA desingner )permet de la creation d'une suite de code barres
l'imprimante utilise un fil chauffant pour marquer les étiquettes
Template du logiciel
Code barre EAN-8/2 numéro 0 à ~500 sur 8 digits + caractère de contrôle , soit des numéros de "0000 0000" à "0000 499x"
Excel
la macro est en VBA sur Excel 2010 ( Microsoft Office 2010 )
elle est affectée a la feuille 1 , qui contient :
- une colonne A
- Un tableau croisé dynamique en C1 de concaténation du nombre d'utilisation de chaque codes barres scannés
- Un graphique type radar lié au tableau croisé dynamique
Private Const SND_APPLICATION = &H80 ' look for application specific association Private Const SND_ALIAS = &H10000 ' name is a WIN.INI [sounds] entry Private Const SND_ALIAS_ID = &H110000 ' name is a WIN.INI [sounds] entry identifier Private Const SND_ASYNC = &H1 ' play asynchronously Private Const SND_FILENAME = &H20000 ' name is a file name Private Const SND_LOOP = &H8 ' loop the sound until next sndPlaySound Private Const SND_MEMORY = &H4 ' lpszSoundName points to a memory file Private Const SND_NODEFAULT = &H2 ' silence not default, if sound not found Private Const SND_NOSTOP = &H10 ' don't stop any currently playing sound Private Const SND_NOWAIT = &H2000 ' don't wait if the driver is busy Private Const SND_PURGE = &H40 ' purge non-static events for task Private Const SND_RESOURCE = &H40004 ' name is a resource name or atom Private Const SND_SYNC = &H0 ' play synchronously (default) ' fonction de lecture de son wav : Private Declare Function PlaySound Lib "winmm.dll" Alias "PlaySoundA" (ByVal lpszName As String, ByVal hModule As Long, ByVal dwFlags As Long) As Long 'prérequis: un dossier comptenant au moins 3000 sons , ' 5000 renomés de 00000000.wav à 00005010.wav ' 3000 renomés de 1.wav à 3000.wav ( pour les nouveaus code barres) Private Sub Worksheet_SelectionChange(ByVal Target As Range) 'dossier contenant les sons au format .wav Dossier = "C:\poipoi\" ' variable de nom remplie avec le contenu de la derniere cellule , en partant du haut de la colonne 1 capassepas = Cells(1, 1).End(xlDown).Row ' variable contenant le chemin d'acces au son Fichier = Dir(Dossier & Cells(capassepas, 1).Value & ".wav") ' on test si le fichier existe' If Fichier = "" Then ' si il n'existe pas : ' ' - on prend le numero de la ligne de la cellule en cour et on lui affecte un son de la base des nouveaux sons ' - on renome le nouveau son avec le contenu de cette cellule ' au prochain scan , le nouveau code barre sera reconnue et joué Dim fso Set fso = CreateObject("Scripting.FileSystemObject") fso.CopyFile Dossier & capassepas & ".wav", Dossier & Cells(1, 1).End(xlDown).Value & ".wav" Cells(capassepas, 1).Interior.colorxindex = capassepas Mod 40 End If ' on joue le fichier son PlaySound Dossier & Fichier, ByVal 0&, SND_FILENAME Or SND_ASYNC ' on rafraichie le tableau croisé dynamique pour le graphique Application.Worksheets("Données").PivotTables("TCD").PivotCache.Refresh ' on deplace la vue du tableau , pour suivre les cellules ActiveSheet.Shapes("Graphique 1").IncrementTop 15 End Sub
La base de sons
elle est issue du site Projet SHTOOKA -
Le Projet Shtooka est une banque multilingue d’enregistrements audio de mots et expressions. Les enregistrements sont libres ! Vous pouvez les écouter, les télécharger, les réutiliser !
lien francais : http://download.shtooka.net/fra-balm-voc_flac.tar
+ de 17000 sons FLAC à décompresser et à convertir en wav (méthode foobar2000)
et a renommer au format des codes barres :
soit un dossier comprenant au moins 8000 sons ,
- 5000 renomés de 00000000.wav à 00005010.wav
- 3000 renomés de 1.wav à 3000.wav ( pour les nouveaux code barres)
La douchette
n'importe quelle douchette 1D configuré avec le caractère "entré" en fin de scan.