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

VBA Discussion :

Problème de réception début de chaine de caractères - Liaison série


Sujet :

VBA

  1. #1
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Avril 2011
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2011
    Messages : 18
    Points : 14
    Points
    14
    Par défaut Problème de réception début de chaine de caractères - Liaison série
    Bonjour à tous,

    Je m'explique, je dispose d'un programme sous VBA qui me permet de récupérer et afficher dans une TextBox des données provenant d'un appareil relié par liaison série à mon PC. Seulement voilà, lors de l'execution de ce programme, bizarrement tous les caractères s'affichent dans le TextBox sauf les premiers (exemple : au lieu d'avoir l'affichage de 28-04-11 plus l'heure plus plein de données, j'ai d'afficher 4-11 et tout le reste). Pour récupérer les données transmises sur la liaison série, j'utilise NETComm33.ocx parce que je ne peux pas utiliser MSComm32 et je travaille avec le Pack office XP.

    Autre chose, je suis sur que le début de la date arrive bien sur mon pc puisque quand je fais le test avec l'hyperterminal le début de la date s'affiche correctement.

    Auriez-vous des potentielles idées quant à la résolution de mon problème ?

    Voici le bout de code suffisant pour récupérer et afficher les données :
    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
    Private Sub NETComm1_OnComm()
        Dim Buffer As String
     
        Buffer = NETComm1.InputData
        TextBox1.SelText = Buffer
     
    End Sub
     
    Private Sub UserForm_Initialize()
     
        With NETComm1
            .CommPort = Port               'Choix du port "COM1"
            .PortOpen = True
            .RThreshold = 1
            .Settings = "9600, n, 8, 2" 'Option (Vitesse, Parité, bits de donnee et bits de stop)
        End With
    End Sub
    Ah et je ne voudrais pas abuser de vous. Mais est-ce-qu'il vous serait possible de me dire comment on fait dans une textbox pour réecrire par dessus des caractères déjà présent ? ( par exemple : j''écris "123456789" dans un TextBox, je replace le curseur au debut de la TextBox et j'aimerais lorque j'ecris une nouvelle fois obtenir "Coucou " et non pas "Coucou 123456789" j'aimerais que ca réecrive par dessus quoi )
    Si vous aviez également la solution à ce problème je vous en serais très reconnaissant

    Merci d'avance,
    Quentin

  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 604
    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 604
    Points : 34 279
    Points
    34 279
    Par défaut
    salut,

    pour ta derniere partie de question, il s'agirait en fait d'activer le mode Insert ?
    ou bien vider le contenu de la textbox dans un premier temps et ecrire le reste a la suite ?
    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
    Expert éminent
    Avatar de Didier Gonard
    Homme Profil pro
    Formateur Office et développeur VBA en freelance
    Inscrit en
    Février 2008
    Messages
    2 805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Formateur Office et développeur VBA en freelance

    Informations forums :
    Inscription : Février 2008
    Messages : 2 805
    Points : 6 696
    Points
    6 696
    Par défaut
    bonjour,

    en rajoutant la ligne 2, tu obtiens quoi dans ta fenêtre exécution ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Buffer = NETComm1.InputData
    Debug.Print Buffer
    pourquoi utilises-tu la propriété SelText ?

    cordialement,

    Didier
    Didier Gonard

    Dernier tutoriel :
    Le VBA qu'est ce que c'est ?
    Tutoriels : Voir la liste de mes tutoriels Excel & VBA et mon site pro sur ma Page DVP
    Cours et tutoriels pour apprendre Excel
    N'oubliez pas de mettre : ..quand c'est le cas !

  4. #4
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Avril 2011
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2011
    Messages : 18
    Points : 14
    Points
    14
    Par défaut
    Excusez moi de répondre si tardivement, c'est que j'ai reussi à résoudre ces 2 problèmes finalement, pour l'histoire des caractères de début de chaine qu'il me manquait, en retravaillant ma chaine que caractère avant de vouloir l'afficher je me suis rendu compte qu'en enlevant tous les caractères spéciaux(types : retour chariot, bell etc...) du debut de ma chaine je suis arrivé à obtenir toute la date. Et pour ce qui est de la TextBox j'ai reussi à obtenir ce que je voulais.

    Merci quand même, faut que je résolve mes autres soucis maintenant
    Et étant nouveau, je sais pas si c'est à moi ou à vous de clore le sujet ou mettre résolu ?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XSL] Problème d'echappement dans une chaine de caractère
    Par thierry_b dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 03/03/2009, 09h49
  2. Problème avec un tableau de chaines de caractères
    Par greg_h19 dans le forum Débuter
    Réponses: 1
    Dernier message: 22/12/2008, 15h31
  3. Réponses: 2
    Dernier message: 29/07/2008, 12h23
  4. Réponses: 4
    Dernier message: 10/07/2008, 13h34
  5. Réponses: 2
    Dernier message: 07/06/2008, 16h23

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