IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Détection retour chariot TextBox remplie par entrée externe (via douchette QR code)


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Homme Profil pro
    Technicien Industrialisation
    Inscrit en
    Avril 2018
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hautes Pyrénées (Midi Pyrénées)

    Informations professionnelles :
    Activité : Technicien Industrialisation
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2018
    Messages : 15
    Points : 14
    Points
    14
    Par défaut Détection retour chariot TextBox remplie par entrée externe (via douchette QR code)
    Bonjour,

    Cela fait plusieurs jours que je bloque sur mon problème malgré mes recherches sur notice douchette, forum divers VBA ...

    Description de mon problème :

    Je développe une application dans un formulaire VBA. Cette application me place dans une textbox pour attendre le scan de mon QR CODE

    Plus loin dans le code je récupère cette entrée pour la stocker dans un tableau. Le découpage se fait avec le caractère du retour Chariot (effectivement, le scan de ce QR code sur un smartphone ou même avec la douchette, dans un fichier texte me génère bien le texte sur plusieurs lignes).

    Le problème est que la texte box ne détecte pas le retour chariot. Elle affiche le texte tout collé. Voir image en pj
    Nom : 2020-03-09 18_03_07-Microsoft Visual Basic pour Applications - Proto-EXCEL-V0.1.xlsm [arrêt.png
Affichages : 521
Taille : 3,5 Ko

    En pj l'image des paramètres de ma textbox ainsi que mon QR Code
    Nom : 2020-03-09 17_51_43-Microsoft Visual Basic pour Applications - Proto-EXCEL-V0.1.xlsm - [Proto-EX.png
Affichages : 599
Taille : 22,0 Ko
    Nom : Screenshot_20200303_132524_com.masterappstudio.qrcodereader.jpg
Affichages : 638
Taille : 427,0 Ko

    J'espère que je suis assez clair pour obtenir quelques pistes de recherche je bloque un peu. J'aimerai ne pas être obligé à passer par un fichier texte qui vient enrichir ce formulaire.

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Développeur VBA/C#/VB.Net/Power Platform
    Inscrit en
    Juillet 2007
    Messages
    14 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur VBA/C#/VB.Net/Power Platform
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 594
    Points : 34 265
    Points
    34 265
    Par défaut
    Bonjour,

    as-tu la possibilité d'anticiper les informations qui seraient récupérées, par exemple KIT blabla ?

    L'idée serait de faire un découpage volontaire du texte, si l'information n'est pas donnée volontairement apr le QR code...
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  3. #3
    Membre à l'essai
    Homme Profil pro
    Technicien Industrialisation
    Inscrit en
    Avril 2018
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hautes Pyrénées (Midi Pyrénées)

    Informations professionnelles :
    Activité : Technicien Industrialisation
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2018
    Messages : 15
    Points : 14
    Points
    14
    Par défaut
    Oui j'ai déjà construit comme ça en attendant de trouver mieux sauf que le code est vraiment pas très propre car longueur de chaque sous partie sont variables. Et de plus lors d'une opération suivante pour le traitement de plusieurs de ces données je fais une comparaison entre la string que je récupère au niveau du label référence SAP avec une table de string et la le caractère spécial du retour chariot pose problème.

    Je vais creuser encore un peu le sujet avant d'abandonner Excel pour un programme java

  4. #4
    Membre chevronné Avatar de mfoxy
    Homme Profil pro
    Automation VBA
    Inscrit en
    Février 2018
    Messages
    752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Belgique

    Informations professionnelles :
    Activité : Automation VBA
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2018
    Messages : 752
    Points : 1 971
    Points
    1 971
    Par défaut
    Bonjour,

    Je pense à une fonction que j'ai créé au boulot, pas dispo avant mercredi, suis en congé, mais qui pourrait peut être faire l'affaire.

    Dans le cas où tes valeurs à récupérer sont toujours hiérarchisées de la même façon.

    J entends par la du genre :
    titre1 : valeur1
    titre2 : valeur2
    ...

    Ce qui semble être le cas d'après ce que je comprends.

    La fonction recherche le texte entre deux chaînes de caractère donc donnerait.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Item = ton string complet
    Val1 = findtextbetween(titre1, titre2)
    Val2 = findtextbetween(titre2, titr3) 
    ... 
    Val1 sortirait "valeur1" 
    Val2 sortirait  "valeur2"
    Michaël

    Si mon aide/avis vous a été profitable , n'hésitez pas à cliquer sur , ça fait toujours plaisir...
    _________________________________________________________________________________________________________________

    "Tout le monde est un génie. Mais si on juge un poisson sur sa capacité à grimper à un arbre, il passera sa vie à croire qu'il est stupide..."
    Albert Einstein

  5. #5
    Membre à l'essai
    Homme Profil pro
    Technicien Industrialisation
    Inscrit en
    Avril 2018
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hautes Pyrénées (Midi Pyrénées)

    Informations professionnelles :
    Activité : Technicien Industrialisation
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2018
    Messages : 15
    Points : 14
    Points
    14
    Par défaut
    Je teste ça demain si j'arrive à faire un truc propre

  6. #6
    Membre chevronné Avatar de mfoxy
    Homme Profil pro
    Automation VBA
    Inscrit en
    Février 2018
    Messages
    752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Belgique

    Informations professionnelles :
    Activité : Automation VBA
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2018
    Messages : 752
    Points : 1 971
    Points
    1 971
    Par défaut
    Re,

    Ci dessous la fonction que j'ai créé ainsi qu'un exemple de fonctionnement.

    Bàt,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    Sub CleanigQRstring()
     
    Dim tonstring As String
     
    tonstring = "Kit : 53367607-1 Référence SAP : PANEL ACCESS - ELV LE IML 136 LH G600 Tack Life (Heures) 167.18333333333232 Times Out : ...."
     
    Debug.Print FindTextBetween(tonstring, "Kit :", "Référence SAP")
    Debug.Print FindTextBetween(tonstring, "Référence SAP :", "Tack Life")
     
     
    End Sub
     
     
    Function FindTextBetween(AllText, StartText, EndText)
     
        FindTextBetween = vbNullString
        StartTextLocation = InStr(1, AllText, StartText, vbTextCompare) + Len(StartText)
        EndTextLocation = InStr(StartTextLocation, AllText, EndText, vbTextCompare) - StartTextLocation
     
        Debug.Print AllText
     
        On Error Resume Next
            FindTextBetween = Mid(AllText, StartTextLocation, EndTextLocation)
        On Error GoTo 0
     
    End Function
    Michaël

    Si mon aide/avis vous a été profitable , n'hésitez pas à cliquer sur , ça fait toujours plaisir...
    _________________________________________________________________________________________________________________

    "Tout le monde est un génie. Mais si on juge un poisson sur sa capacité à grimper à un arbre, il passera sa vie à croire qu'il est stupide..."
    Albert Einstein

  7. #7
    Membre à l'essai
    Homme Profil pro
    Technicien Industrialisation
    Inscrit en
    Avril 2018
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hautes Pyrénées (Midi Pyrénées)

    Informations professionnelles :
    Activité : Technicien Industrialisation
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2018
    Messages : 15
    Points : 14
    Points
    14
    Par défaut
    Merci

    j'avais réussi a faire la même chose ce matin. ça confirme que je m'y suis bien pris.

    C'est un moyen un peu détourné par rapport à ce que je voulais faire mais bon ça fait le taf. Je vais tout de même creuser le sujet car c'est pas normal que en utilisant la douchette dans le bloc note mon texte se génère bien avec des sauts de lignes mais pas dans le textbox malgré le paramètre "Multiline" actif.

Discussions similaires

  1. Réponses: 2
    Dernier message: 09/03/2011, 17h26
  2. Réponses: 4
    Dernier message: 04/09/2007, 08h51
  3. [WinForms][Tout langage] retour chariot textbox multiligne
    Par frjover dans le forum Général Dotnet
    Réponses: 2
    Dernier message: 21/12/2006, 14h51
  4. Réponses: 2
    Dernier message: 29/11/2005, 14h17
  5. Souci pour remplacer les Retours chariot par <BR>
    Par ahage4x4 dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 01/06/2005, 11h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo