Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
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 31/08/2011, 15h31   #1
Membre du Club
 
Homme
Inscription : janvier 2004
Messages : 239
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 30
Localisation : France

Informations forums :
Inscription : janvier 2004
Messages : 239
Points : 63
Points : 63
Envoyer un message via MSN à Chicard
Par défaut symbole en plus lors de l'affichage

Bonjour,

j'ai plusieurs textbox qui écrivent sur plusieurs lignes dans une seule cellule et j'ai aucun souci sauf avec une. Lors de l'affichage à la fin de chaque ligne je me retrouve avec un petit carré



voici le code que j'ai fait (code repris plus loin sans souci
Code :
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
27
28
29
30
31
32
33
34
Private Sub TextBox_article_marche_Exit(ByVal Cancel As MSForms.ReturnBoolean)
 
    'Nombre de caractère maximum sur la ligne de la cellule rentré dans une constante
    Const nbcar As Integer = 14
 
    'Création d'une chaine pour contenir le texte de la textbox
    Dim myString As String
 
    'Déclaration de variables
    Dim table() As String, x As Integer, txt As String, t As String
 
    'Enregistrement du contenu de la textbox dans la chaine myString
    myString = TextBox_article_marche.text
 
    'Enregistrement de la chaine myString dans un tableau
    table = Split(myString)
 
    'Traitement de la chaine dans le tableau
    While x <= UBound(table)
        If Len(t & Chr(32) & table(x)) < nbcar Then
            t = t & table(x) & Chr(32): x = x + 1
        Else
            txt = txt & Trim(t) & vbLf:  t = table(x) & Chr(32): x = x + 1
        End If
    Wend
 
    'Supression des espace avant et après la chaine
    txt = txt & Trim(t)
 
    'Remise de la chaine dans la variable textbox.text pour intégration dans
    'la dernière ligne du fichier par l'appel fait plus haut
    TextBox_article_marche.text = txt
 
End Sub
Une idée sur le pourquoi du comment?
Chicard est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/08/2011, 15h38   #2
Nouveau Membre du Club
 
Homme
Chef de projet MOA
Inscription : juillet 2011
Messages : 22
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Hauts de Seine (Île de France)

Informations professionnelles :
Activité : Chef de projet MOA
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : juillet 2011
Messages : 22
Points : 32
Points : 32
Bonjour,

je pense que cela vient du fait que ta variable txt contient vbLf (saut de ligne) comme dernier caractère.

Pour corriger ce problème tu peux par exemple remplacer la ligne 32 de ton code par :

Code :
1
2
 
TextBox_article_marche.Text = Left(txt, Len(txt) - 1)
dave92 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/08/2011, 16h06   #3
Membre du Club
 
Homme
Inscription : janvier 2004
Messages : 239
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 30
Localisation : France

Informations forums :
Inscription : janvier 2004
Messages : 239
Points : 63
Points : 63
Envoyer un message via MSN à Chicard
Apparemment c'est pas ça car ça continue

autant pour moi l'autre aussi me fait la même connerie (celui que j'utilise plus bas).

Il semblerait que le petit carré ne se mette que si il y a plusieurs lignes (au moins 2) car sur une seule il ne mets rien.
Chicard est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/09/2011, 10h57   #4
Membre du Club
 
Homme
Inscription : janvier 2004
Messages : 239
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 30
Localisation : France

Informations forums :
Inscription : janvier 2004
Messages : 239
Points : 63
Points : 63
Envoyer un message via MSN à Chicard
Bon, j'ai résolu mon problème mais je déteste cette solution qui est de passer par une variable publique.

Code :
Public nom_de_la_variable as string(dans mon cas)
Chicard 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 21h43.


 
 
 
 
Partenaires

Hébergement Web