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 :

[VBA-E]comment supprimer un caractere affiché


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Août 2005
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2005
    Messages : 42
    Par défaut [VBA-E]comment supprimer un caractere affiché
    bonjour, je récupère le contenu d'une text box pour le mettre dans un commentaire de cellule:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveCell.Comment.Text Text:=CStr(monCommentaire.commentaire.Text)
    mais dans le commentaire obtenu pour la cellule, à chaque retour chariot j'ai un carré qui s affiche ... puis je le supprimer sans perdre mon reour à la ligne ?

  2. #2
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    on peu savoir d'ou viens ton texte... ? moi je n'ai pas de probléme ... avec les retour chariots présent dans mon text box

  3. #3
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Par défaut
    bbil a raison de t'interroger sur l'origine de ton texte.

    L'apparition de symboles en lieu et place de retours charriot est généralement dûe à la présence de Vbcr, ou chr(10) ou encore chr(13) isolés et qu'il convient de remplacer par des VbCrlf.
    Dans d'autres cas, beaucoup plus rares, le texte provenant d'autres outils et contenant des marques de tabulations est mal traduit par Vb.
    Dans d'autres cas, enfin, te texte provient de tableaux et est "transporté" avec des séparateurs spéciaux...
    Le mieux est que tu fasses un tout petit outil pour analyser, caractère par caractère (jusqu'à arriver au caractère spécial) les valeurs ascii.
    Du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    For i = 1 To Len(ton_texte)
      MsgBox Asc(Mid(ton_texte, i, 1))
    Next
    Une fois connue celle de ton caractère spécial : la remplacer par un vbcrlf (si tu veux conserver un retour à la ligne) ou rien (si tu préfères), par une boucle du même genre, à insérer, elle, dans ton code.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Août 2005
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2005
    Messages : 42
    Par défaut
    oui jmfmarques, merci, pour mon retour à la ligne j ai un 13 puis un 10;
    apres test c est le chr(13) qui me genait;
    merci aussi bbil
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveCell.Comment.Text Text:=Replace(monCommentaire.commentaire.Text, Chr(13), "")
    Maintenant je cherche comment acceder à la proprieté police de mon commentaire, car je voudrais la 1ere ligne en gras (contient le username de celui qui met le commentaire) et les autres en normal

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    ActiveCell.AddComment
    ActiveCell.Comment.Visible = False
    With ActiveCell.Comment       
           ...  heuh ...     
     
    ActiveCell.Comment.Text Text:=Environ("username") + vbcrlf + maStringCommentaire

  5. #5
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    tiens une copie de ma fenêtre exécution à méditer ...

    Citation Envoyé par fenêtre exécution
    ? vbCrlf = Chr(13) &chr(10)
    Vrai
    PS : tu nos as pas dit l'origine de ton texte... il doit contenir d'autre caractéres spéciaux que VbCrlf ? ... code ascii < 30 ou > à 127 .. (en gros..) avec méthode d'affichage de jmf.. ..
    tiens voilà une petite fonction pour nettoyer ta chaîne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Function NettoieChaine(st As String) As String
    For i = 1 To Len(st)
      Select Case Asc(Mid(st, i, 1))
        Case 10, 13, 32 To 126
        NettoieChaine = NettoieChaine & Mid(st, i, 1)
      End Select
    Next
    End Function
    ton code devient
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveCell.Comment.Text Text:=NettoieChaine(monCommentaire.commentaire.Text)

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Août 2005
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2005
    Messages : 42
    Par défaut
    l origine du texte est une textbox; merci bbill, nos messages se sont croisés

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Août 2005
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2005
    Messages : 42
    Par défaut
    j ouvrirai peut être un autre sujet pour ma question sur le format pour le commentaire

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 22/05/2007, 10h25
  2. Réponses: 1
    Dernier message: 24/04/2007, 17h20
  3. comment supprimer des caracteres en fin de chaines
    Par BernardT dans le forum Langage
    Réponses: 1
    Dernier message: 19/07/2006, 17h41
  4. [VBA-E] Comment supprimer le son d'une msgbox ?
    Par Geoffray dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 11/07/2006, 17h16
  5. [LG]comment désigner un caractère affiché dans la fenêtre?
    Par zetterberg_10 dans le forum Langage
    Réponses: 5
    Dernier message: 08/02/2005, 00h27

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