Codason

De Centre de Ressources Numériques - Labomedia
Aller à : navigation, rechercher
Codason
Codason P1370120 cb-X3.jpg


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


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.