Microsoft 365 Scanner de codes-barres

  • Initiateur de la discussion Initiateur de la discussion unrender
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

unrender

XLDnaute Junior
Bonjour,

Depuis peu je dois utiliser un scanner de codes-barres (Symbol MT2000).
Lorsque je le mets sur le socle, le Gestionnaire pour Appareils Windows Mobile s'ouvre et je peux ensuite aller dans le gestionnaire de fichiers de Windows, accéder au scanner (comme si j'accédais à un appareil photo ou un téléphone portable). Je vais dans le dossier adéquat et récupère le fichier qu'il me faut (celui contenant les codes-barres scannés), pour pouvoir le mettre sur le PC et lancer ma macro VBA depuis Excel pour le traiter...
C'est chiant comme manip'.

Je n'arrive pas à trouver comment importer via VBA ce fichier. Ou alors carrément y accéder directement depuis VBA en le laissant dans le scanner. Ce serait encore mieux...
Mais vu que Windows n'attribue pas de lettre de lecteur au scanner (ce qui est normal hein !), je ne sais pas comment faire pour y accéder depuis VBA...

Je ne sais pas si je suis clair 🙁

Quelqu'un aurait une idée ??
Merci.
 
Cela ne va pas.
A priori lorsque j'essaie d'ouvrir le fichier avec Excel, Windows crée une copie et la met dans un répertoire de Cache et la source dans la macro pointe sur ce fichier (et non celui qui est dans le scanner).

VB:
    ActiveWorkbook.Queries.Add Name:="A4EDF10F", Formula:= _
        "let" & Chr(13) & "" & Chr(10) & "    Source = Table.FromColumns({Lines.FromBinary(File.Contents(""C:\Users\in30317\AppData\Local\Microsoft\Windows\INetCache\Content.MSO\A4EDF10F.txt""), null, null, 1252)})" & Chr(13) & "" & Chr(10) & "in" & Chr(13) & "" & Chr(10) & "    Source"
    ActiveWorkbook.Worksheets.Add
    With ActiveSheet.ListObjects.Add(SourceType:=0, Source:= _
        "OLEDB;Provider=Microsoft.Mashup.OleDb.1;Data Source=$Workbook$;Location=A4EDF10F;Extended Properties=""""" _
        , Destination:=Range("$A$1")).QueryTable
        .CommandType = xlCmdSql
        .CommandText = Array("SELECT * FROM [A4EDF10F]")
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .BackgroundQuery = True
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .PreserveColumnInfo = True
        .ListObject.DisplayName = "A4EDF10F"
        .Refresh BackgroundQuery:=False
    End With

Une autre idée ?
 
Bonjour,
Je peux me tromper, mais si c'est une copie, les données sont les mêmes que dans le scanner non?
Si la manip est celle que vous faites habituellement, et que l'enregistreur a "vu" toutes les manipulations, il devrait être capable de les répeter à l'identique.
Identifiez les étapes que l'enregistreur a raté, et ajoutez le code manquant.
 
Bonjour,

Le hic c'est que comme souvent pour le fichiers temporaires, Windows leur donne un nom différent à chaque fois.
Donc si je refais la manip' 3 fois de suite, j'aurai 3 noms différents.

De plus, dans la macro, je ne vois aucune ligne correspondant à la prise du fichier sur le scanner.
C'est comme-ci le fichier était dans le répertoire sur le disque C: et voilà.

Donc je ne peux pas reproduire automatiquement le fait qu'il copie le fichier du scanner vers le disque C:
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Retour