Supprimer des sauts de ligne dans une textbox

Bonjour à tous,

Savez-vous comment vérifier dans une textbox la présence de saut de ligne et les supprimer ?

Par ex., si dans une textbox, j'ai

"

blabla

1234

c'esttoutpouraujourd'hui

"

avoir :

"blabla

1234

c'esttoutpouraujourd'hui

"

Merci beaucoup pour votre aide,

Bonne journée,

Amicalement

Bonjour,

Essaye quelque chose comme ça :

Montexte = Replace(Montexte, vbCrLf & VbCrLf, vbCrLf)

Bien à toi

Bonjour,

La constante vbCrLf équivaut à Chr(13) & Chr(10) [saut de pararagraphe + saut de ligne].

Il serait donc plus sûr de faire :

tx = TextBox1.Value
tx = Replace(Replace(tx, vbCr, ""), vbLf & vbLf, vbLf)
TextBox1.Value = tx

Cordialement.

Bonjour jibouchou, MFerrand, le Forum,

MERCI beaucoup pour vos propositions !

J'ai essayé de les adapter à mon fichier et je n'y arrive pas... Je ne sais pas pourquoi...

Voici le but de cet exemple : lorque je ckique sur la checkbox1, une inputbox me demande mon nom et l'inscrit dans la textbox1.

J'ai aussi possibilité d'avoir d'autres infos dans cette texbox1. Ce que je cherche à faire, c'est lorsque l'ulisateur décoche la checkbox1, enlever son nom (libellé) et conserver les autres infos. Tout ça fonctionne bien.

Par contre, si j'ajoute des infos après avoir inscrit mon nom, le libellé est bien effacé mais il reste un retour à la ligne...

Pas sûr d'être clair...

Merci beaucoup pour votre aide,

Amicalement

16classeur1.xlsm (16.29 Ko)

Bonsoir,

En fait, l'action sur Entrée dans la TextBox introduit vbCrLf, soit 2 caractères, il y a donc intérêt à s'aligner sur la propositions de jibouchou, mais également d'opérer de même quand tu introduis le nom...

Private Sub CheckBox1_Click()
    Dim rep, tx As String
    If Me.CheckBox1 = True Then
        rep = Application.InputBox("Indiquez votre nom", "Nom", Type:=2)
        If rep = "" Or rep = False Then
            Me.CheckBox1 = False
            Exit Sub
        Else
            Libellé = "Nom : " & rep
            If Me.TextBox1 = "" Then
                Me.TextBox1 = Libellé
            Else
                Me.TextBox1 = Me.TextBox1 & vbCrLf & Libellé
            End If
            drapeau = True
        End If
    Else
        If drapeau = True Then
            tx = Me.TextBox1.Text
            tx = Replace(Replace(tx, Libellé, ""), vbCrLf & vbCrLf, vbCrLf)
            If InStr(1, tx, vbCrLf) = 1 Then tx = Replace(tx, vbCrLf, "", 1, 1)
            Me.TextBox1.Text = tx: Libellé = "": drapeau = False
        End If
    End If
End Sub

Inutile de tester si ta chaîne contient Libellé, c'est drapeau qui te le confirme (mais ne pas oublier de le ramener à False et d'effacer Libellé). Par contre, si le nom a été mis en tête de liste, il faut tester sa présence éventuelle pour l'éliminer.

Autre modification : déclaration de rep en Variant. Quand on appuie sur Annuler, InputBox renvoie False, en ne le testant pas, tu verrais s'inscrire : Nom : Faux. Le test "" est le cas de validation du nom sans en mettre ("" n'est pas identique à vbNullString).

Cordialement.

Bonjour MFerrand, le Forum,

Merci beaucoup, c'est exactement ce que je recherchais ! Merci surtout pour les explications !

Excellente journée,

Amicalement

Rechercher des sujets similaires à "supprimer sauts ligne textbox"