Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Pb de saut de ligne dans Concatenation

3 réponses
Avatar
Christophe Joly
Bonsoir:

Dans une macro, je fais une concatenation entre le contenu d'une cellule
définie par un nom (BODY) (le texte qui est formaté pour tenir sur 2 lignes)
et le contenu d'une autre cellule dont le contenu est cours ( numero de
stand).

Range("A12:D12").Select
Rows("12:12").RowHeight = 51
ActiveCell.Formula = "=CONCATENATE(Body,""
"",VLOOKUP(B13,COMPANY2,2),"""",VLOOKUP(B13,COMPANY2,3,TRUE))"
With Selection
.HorizontalAlignment = xlGeneral
.VerticalAlignment = xlTop
.WrapText = True
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = True
End With

Mon problème est que le numero de stand vient se positionner sous le texte
de "Body" et non à la suite du dernier mot du texte de "Body".

J'obtiens:
We are pleased to confirm below your Schedule of Appointments. Each
appointment is about 20 minutes long and is conveniently scheduled at booth
:
3E6


Alors que je souhaiterais obtenir:
We are pleased to confirm below your Schedule of Appointments. Each
appointment is about 20 minutes long and is conveniently scheduled at booth
: 3E6

Merci d'avance pour vos bons conseils.

Christophe

3 réponses

Avatar
Michel Gaboly
Bonsoir,

Quel est le dernier caratère de BODY ? Ce ne serait pas un saut de ligne ?

Si oui, il suffit de l'enlever.

Autre piste (à adapter) :

Sub Test()
Dim Pos As Integer
Pos = Application.WorksheetFunction.Search(":", Range("Body"))
MsgBox Left(Range("Body"), Pos) & " " & Range("Toto")
End Sub

On se base sur la position du ":"



Bonsoir:

Dans une macro, je fais une concatenation entre le contenu d'une cellule
définie par un nom (BODY) (le texte qui est formaté pour tenir sur 2 lignes)
et le contenu d'une autre cellule dont le contenu est cours ( numero de
stand).

Range("A12:D12").Select
Rows("12:12").RowHeight = 51
ActiveCell.Formula = "=CONCATENATE(Body,""
"",VLOOKUP(B13,COMPANY2,2),"""",VLOOKUP(B13,COMPANY2,3,TRUE))"
With Selection
.HorizontalAlignment = xlGeneral
.VerticalAlignment = xlTop
.WrapText = True
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = True
End With

Mon problème est que le numero de stand vient se positionner sous le texte
de "Body" et non à la suite du dernier mot du texte de "Body".

J'obtiens:
We are pleased to confirm below your Schedule of Appointments. Each
appointment is about 20 minutes long and is conveniently scheduled at booth
:
3E6

Alors que je souhaiterais obtenir:
We are pleased to confirm below your Schedule of Appointments. Each
appointment is about 20 minutes long and is conveniently scheduled at booth
: 3E6

Merci d'avance pour vos bons conseils.

Christophe


--
Cordialement,

Michel Gaboly
http://www.gaboly.com

Avatar
Christophe Joly
Michel:

Et en plus..........c'était ca. Je veux dire le saut de ligne à la fin de
BODY. Presque la honte mais je survivrais. Preuve en est si besoin en était
encore que l'union fait la force et ceci d'autant plus que le demandeur est
pas très fort.

Merci.

Christophe


"Michel Gaboly" a écrit dans le message de
news:
Bonsoir,

Quel est le dernier caratère de BODY ? Ce ne serait pas un saut de ligne ?

Si oui, il suffit de l'enlever.

Autre piste (à adapter) :

Sub Test()
Dim Pos As Integer
Pos = Application.WorksheetFunction.Search(":", Range("Body"))
MsgBox Left(Range("Body"), Pos) & " " & Range("Toto")
End Sub

On se base sur la position du ":"



Bonsoir:

Dans une macro, je fais une concatenation entre le contenu d'une cellule
définie par un nom (BODY) (le texte qui est formaté pour tenir sur 2
lignes)


et le contenu d'une autre cellule dont le contenu est cours ( numero de
stand).

Range("A12:D12").Select
Rows("12:12").RowHeight = 51
ActiveCell.Formula = "=CONCATENATE(Body,""
"",VLOOKUP(B13,COMPANY2,2),"""",VLOOKUP(B13,COMPANY2,3,TRUE))"
With Selection
.HorizontalAlignment = xlGeneral
.VerticalAlignment = xlTop
.WrapText = True
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = True
End With

Mon problème est que le numero de stand vient se positionner sous le
texte


de "Body" et non à la suite du dernier mot du texte de "Body".

J'obtiens:
We are pleased to confirm below your Schedule of Appointments.
Each


appointment is about 20 minutes long and is conveniently scheduled at
booth


:
3E6

Alors que je souhaiterais obtenir:
We are pleased to confirm below your Schedule of Appointments. Each
appointment is about 20 minutes long and is conveniently scheduled at
booth


: 3E6

Merci d'avance pour vos bons conseils.

Christophe


--
Cordialement,

Michel Gaboly
http://www.gaboly.com





Avatar
Michel Gaboly
Le principal est que le problème soit résolu, Christophe ;-)))



Michel:

Et en plus..........c'était ca. Je veux dire le saut de ligne à la fin de
BODY. Presque la honte mais je survivrais. Preuve en est si besoin en était
encore que l'union fait la force et ceci d'autant plus que le demandeur est
pas très fort.

Merci.

Christophe

"Michel Gaboly" a écrit dans le message de
news:
Bonsoir,

Quel est le dernier caratère de BODY ? Ce ne serait pas un saut de ligne ?

Si oui, il suffit de l'enlever.

Autre piste (à adapter) :

Sub Test()
Dim Pos As Integer
Pos = Application.WorksheetFunction.Search(":", Range("Body"))
MsgBox Left(Range("Body"), Pos) & " " & Range("Toto")
End Sub

On se base sur la position du ":"



Bonsoir:

Dans une macro, je fais une concatenation entre le contenu d'une cellule
définie par un nom (BODY) (le texte qui est formaté pour tenir sur 2
lignes)


et le contenu d'une autre cellule dont le contenu est cours ( numero de
stand).

Range("A12:D12").Select
Rows("12:12").RowHeight = 51
ActiveCell.Formula = "=CONCATENATE(Body,""
"",VLOOKUP(B13,COMPANY2,2),"""",VLOOKUP(B13,COMPANY2,3,TRUE))"
With Selection
.HorizontalAlignment = xlGeneral
.VerticalAlignment = xlTop
.WrapText = True
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = True
End With

Mon problème est que le numero de stand vient se positionner sous le
texte


de "Body" et non à la suite du dernier mot du texte de "Body".

J'obtiens:
We are pleased to confirm below your Schedule of Appointments.
Each


appointment is about 20 minutes long and is conveniently scheduled at
booth


:
3E6

Alors que je souhaiterais obtenir:
We are pleased to confirm below your Schedule of Appointments. Each
appointment is about 20 minutes long and is conveniently scheduled at
booth


: 3E6

Merci d'avance pour vos bons conseils.

Christophe


--
Cordialement,

Michel Gaboly
http://www.gaboly.com





--
Cordialement,

Michel Gaboly
http://www.gaboly.com