Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Général VBA
Général VBA Forum général VBA . Pour les logiciels spécifiques (Access, Excel, Word, ...), postez dans les bons sous forums.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 29/04/2011, 14h43   #1
Invité de passage
 
Homme
Inscription : avril 2011
Messages : 14
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : avril 2011
Messages : 14
Points : 3
Points : 3
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 :
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
Quent4491 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/05/2011, 18h40   #2
Rédacteur/Modérateur
 
Avatar de jpcheck
 
Jean-Philippe ANDRÉ
Inscription : juillet 2007
Messages : 7 863
Détails du profil
Informations personnelles :
Nom : Jean-Philippe ANDRÉ
Âge : 28
Localisation : France

Informations forums :
Inscription : juillet 2007
Messages : 7 863
Points : 10 737
Points : 10 737
Envoyer un message via MSN à jpcheck
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 ?
__________________
Pas de question technique par MP, je ne réponds pas

Mon perso ? Une vraie brute

Tutos Access, Tâches planifiées et Batch,Tables de Paramètres sous Access, Excel et Batch, Tâches planifiées et Access
jpcheck est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/05/2011, 09h05   #3
Rédacteur
 
Avatar de Ormonth
 
Homme Didier GONARD
Formateur Développeur Office - indépendant
Inscription : février 2008
Messages : 2 353
Détails du profil
Informations personnelles :
Nom : Homme Didier GONARD
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations professionnelles :
Activité : Formateur Développeur Office - indépendant

Informations forums :
Inscription : février 2008
Messages : 2 353
Points : 4 682
Points : 4 682
bonjour,

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

Code :
1
2
Buffer = NETComm1.InputData
Debug.Print Buffer
pourquoi utilises-tu la propriété SelText ?

cordialement,

Didier
__________________
Didier Gonard

Ps :
Pour noter positivement ou négativement un post, vous pouvez cliquer sur les pouces en bas à droite !
Tutoriels : Voir la liste de mes tutoriels et mon site pro sur ma Page DVP
N'oubliez pas de mettre : ..quand c'est le cas !
Ormonth est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/05/2011, 13h55   #4
Invité de passage
 
Homme
Inscription : avril 2011
Messages : 14
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : avril 2011
Messages : 14
Points : 3
Points : 3
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 ?
Quent4491 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 09h19.


 
 
 
 
Partenaires

Hébergement Web