Remplace saut de ligne par espace dans listbox

Bonsoir Forum

Je voudrais savoir si on peut remplacer les sauts de ligne (note) par un espace dans une listbox dans un userform.

Merci d'avance pour votre aide.

Clt

Jph

Bonsoir,

Je ne comprends pas ta question. Qu'est-ce qu'un saut de ligne dans une ListBox ?

NB- espace (qui n'est pas l'espace dans lequel on se meut) est un mot féminin...

Cordialement.

Bonjour

Dans une cellule excel quand on fait "Alt + entrée" on revient à la ligne.

Dans la listbox ce retour à la ligne est affiché par un caractère en forme de note.

c'est ça que je voudrais supprimer et le remplacer par un espace

Bonne journée

Clt

JPH

D'accord ! Ce caractère se nomme pied de mouche. Si tu veux le remplacer par une espace [et non un !!], il faut le faire dans la cellule source. Mais du même coup tu supprimes le retour à la ligne.

Autres possibilités : si tu n'es pas dans un Userform, tu peux remplacer la ListBox ActiveX par le contrôle équivalent de formulaire qui, lui, n'affiche pas ce caractère pour indiquer un retour à la ligne.

Ou bien, lors de l'affectation de la donnée à la ListBox, tu modifies les chaînes contenant des retours à la ligne avant de les ajouter. Dans ce cas, il faudra éventuellement aussi les rétablir lors d'affectation à une cellule.

Cordialement.

Merci pour votre réponse MFerrand

mais je suis bien dans un userform et comment dois-je procéder pour remplacer le pied de mouche par un autre caractère "ex: //"

Encore merci pour votre aide

Clt

JPH

Par exemple :

au lieu de : ...AddItem xxx on mettra : ...AddItem Replace(xxx, Chr(10), "//")

Cordialement.

Merci de votre réponse mai je n'arrive p à positionner le code je vous joint un bout du vba ou je souhaiterais supprimer les pieds de mouche.

If CDate(wsBD.Range("A" & lig).Value) >= CDate(CritDateDeb) And _

CDate(wsBD.Range("A" & lig).Value) < CDate(CritDateFin) Then

With ListBox2

.AddItem wsBD.Range("B" & lig).Value

.List(.ListCount - 1, 1) = wsBD.Range("G" & lig).Value 'c'est sur cette colonne que je souhaite supprimer

End With

LigList = LigList + 1

End If

Next lig

encore merci pour votre aide

Clt

JPH

A-priori :

.List(.ListCount - 1, 1) = Replace(wsBD.Range("G" & lig).Value, Chr(10), "//")

Merci MFerrand

Après essai je constate que les pieds de mouche sont toujours là en plus des //.

Clt

JPH

Mets voir ton fichier...

Bonjour MFerrand,

Excusez moi je n'ai pas eu le temps hier soir de mettre le fichier.

je mets à dispos mon fichier

la listbox se trouve dans l'onglet l'userform "AffiRapport"

je profite de votre gentillesse pour vous demander aussi que j'ai une petit souci avec les dates en modification car elles vont se mettre au format américain (ne reste pas au format français)

Merci de votre aide

Bonne journée MFerrand

Clt

JPH

Il faut doubler... Alt+Entrée ne met qu'un caractère (10) mais là tu es en retour automatique à la ligne...

.List(.ListCount - 1, 1) = Replace(Replace(wsBD.Range("G" & lig).Value, Chr(10), "//"), Chr(13), "")

Je vais voir où sont tes affectations de dates.


Je n'ai pas vu où se posait ton problème de dates ?

Celles que j'ai vues se mettaient correctement.

Cordialement.

Bonsoir MFerrand

merci de votre réponse c'est parfait.

Concernant la date, elle change quand j'utilise l'userfom en modification je recherche la date dans la combobox et quand on valide la modification la date se met au format américain dans la feuille excel.

clt

JPH

Merci MFerrand de l'aide que vous m'avez apporté

je mets en résolu car j'ai ouvert un autre sujet sur la ligne de code qui pose problème

Clt

JPH

Rechercher des sujets similaires à "remplace saut ligne espace listbox"