Comment faire pour générer un saut de ligne (retour chariot) dès qu’il y a
plus de trois blancs dans une cellule, ce dans une colonne précise ?
En clair je reçois mes données ainsi dans la cellule :
Toto toto toto
je veux les ordonner comme suit dans la cellule :
Toto
toto
toto
si vous avez une idée je suis preneur par avance merci.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Philippe.R
Bonsoir, Cette petite procédure, à copier dans un module ordinaire :
Sub revoiligne() For Each c In Selection c.Value = Application.WorksheetFunction _ .Substitute(c.Value, " ", Chr(10)) Next c End Sub
qui remplace les groupes de 3 espaces par un retour à la ligne, conviendrait il ? -- Avec plaisir http://dj.joss.free.fr/trombine.htm http://jacxl.free.fr/mpfe/trombino.html Philippe.R Pour se connecter au forum : http://www.excelabo.net/mpfe/connexion.php News://news.microsoft.com/microsoft.public.fr.excel "Gildo" a écrit dans le message de news:
Bonjour,
Comment faire pour générer un saut de ligne (retour chariot) dès qu’il y a plus de trois blancs dans une cellule, ce dans une colonne précise ? En clair je reçois mes données ainsi dans la cellule : Toto toto toto je veux les ordonner comme suit dans la cellule : Toto toto toto si vous avez une idée je suis preneur par avance merci.
Bonsoir,
Cette petite procédure, à copier dans un module ordinaire :
Sub revoiligne()
For Each c In Selection
c.Value = Application.WorksheetFunction _
.Substitute(c.Value, " ", Chr(10))
Next c
End Sub
qui remplace les groupes de 3 espaces par un retour à la ligne, conviendrait
il ?
--
Avec plaisir
http://dj.joss.free.fr/trombine.htm
http://jacxl.free.fr/mpfe/trombino.html
Philippe.R
Pour se connecter au forum :
http://www.excelabo.net/mpfe/connexion.php
News://news.microsoft.com/microsoft.public.fr.excel
"Gildo" <Gildo@discussions.microsoft.com> a écrit dans le message de
news:2680455A-DC01-450E-99B8-C40AD7EACB4C@microsoft.com...
Bonjour,
Comment faire pour générer un saut de ligne (retour chariot) dès qu’il y a
plus de trois blancs dans une cellule, ce dans une colonne précise ?
En clair je reçois mes données ainsi dans la cellule :
Toto toto toto
je veux les ordonner comme suit dans la cellule :
Toto
toto
toto
si vous avez une idée je suis preneur par avance merci.
Bonsoir, Cette petite procédure, à copier dans un module ordinaire :
Sub revoiligne() For Each c In Selection c.Value = Application.WorksheetFunction _ .Substitute(c.Value, " ", Chr(10)) Next c End Sub
qui remplace les groupes de 3 espaces par un retour à la ligne, conviendrait il ? -- Avec plaisir http://dj.joss.free.fr/trombine.htm http://jacxl.free.fr/mpfe/trombino.html Philippe.R Pour se connecter au forum : http://www.excelabo.net/mpfe/connexion.php News://news.microsoft.com/microsoft.public.fr.excel "Gildo" a écrit dans le message de news:
Bonjour,
Comment faire pour générer un saut de ligne (retour chariot) dès qu’il y a plus de trois blancs dans une cellule, ce dans une colonne précise ? En clair je reçois mes données ainsi dans la cellule : Toto toto toto je veux les ordonner comme suit dans la cellule : Toto toto toto si vous avez une idée je suis preneur par avance merci.
JB
Bonsoir,
For Each c In Selection c.Value = Replace(Application.Trim(c), " ", vbLf) Next c
JB http://boisgontierjacques.free.fr
On 25 fév, 20:04, "Philippe.R" <AS_rauphil_chez_wanadoo.fr> wrote:
Bonsoir, Cette petite procédure, à copier dans un module ordinaire :
Sub revoiligne() For Each c In Selection c.Value = Application.WorksheetFunction _ .Substitute(c.Value, " ", Chr(10)) Next c End Sub
qui remplace les groupes de 3 espaces par un retour à la ligne, conviend rait il ? -- Avec plaisirhttp://dj.joss.free.fr/trombine.htmhttp://jacxl.free.fr/mpfe/t rombino.html Philippe.R Pour se connecter au forum :http://www.excelabo.net/mpfe/connexion.php News://news.microsoft.com/microsoft.public.fr.excel "Gildo" a écrit dans le message denews :
Bonjour,
Comment faire pour générer un saut de ligne (retour chariot) dès q u'il y a plus de trois blancs dans une cellule, ce dans une colonne précise ? En clair je reçois mes données ainsi dans la cellule : Toto toto toto je veux les ordonner comme suit dans la cellule : Toto toto toto si vous avez une idée je suis preneur par avance merci.- Masquer le te xte des messages précédents -
- Afficher le texte des messages précédents -
Bonsoir,
For Each c In Selection
c.Value = Replace(Application.Trim(c), " ", vbLf)
Next c
JB
http://boisgontierjacques.free.fr
On 25 fév, 20:04, "Philippe.R" <AS_rauphil_chez_wanadoo.fr> wrote:
Bonsoir,
Cette petite procédure, à copier dans un module ordinaire :
Sub revoiligne()
For Each c In Selection
c.Value = Application.WorksheetFunction _
.Substitute(c.Value, " ", Chr(10))
Next c
End Sub
qui remplace les groupes de 3 espaces par un retour à la ligne, conviend rait
il ?
--
Avec plaisirhttp://dj.joss.free.fr/trombine.htmhttp://jacxl.free.fr/mpfe/t rombino.html
Philippe.R
Pour se connecter au forum :http://www.excelabo.net/mpfe/connexion.php
News://news.microsoft.com/microsoft.public.fr.excel
"Gildo" <Gi...@discussions.microsoft.com> a écrit dans le message denews :2680455A-DC01-450E-99B8-C40AD7EACB4C@microsoft.com...
Bonjour,
Comment faire pour générer un saut de ligne (retour chariot) dès q u'il y a
plus de trois blancs dans une cellule, ce dans une colonne précise ?
En clair je reçois mes données ainsi dans la cellule :
Toto toto toto
je veux les ordonner comme suit dans la cellule :
Toto
toto
toto
si vous avez une idée je suis preneur par avance merci.- Masquer le te xte des messages précédents -
For Each c In Selection c.Value = Replace(Application.Trim(c), " ", vbLf) Next c
JB http://boisgontierjacques.free.fr
On 25 fév, 20:04, "Philippe.R" <AS_rauphil_chez_wanadoo.fr> wrote:
Bonsoir, Cette petite procédure, à copier dans un module ordinaire :
Sub revoiligne() For Each c In Selection c.Value = Application.WorksheetFunction _ .Substitute(c.Value, " ", Chr(10)) Next c End Sub
qui remplace les groupes de 3 espaces par un retour à la ligne, conviend rait il ? -- Avec plaisirhttp://dj.joss.free.fr/trombine.htmhttp://jacxl.free.fr/mpfe/t rombino.html Philippe.R Pour se connecter au forum :http://www.excelabo.net/mpfe/connexion.php News://news.microsoft.com/microsoft.public.fr.excel "Gildo" a écrit dans le message denews :
Bonjour,
Comment faire pour générer un saut de ligne (retour chariot) dès q u'il y a plus de trois blancs dans une cellule, ce dans une colonne précise ? En clair je reçois mes données ainsi dans la cellule : Toto toto toto je veux les ordonner comme suit dans la cellule : Toto toto toto si vous avez une idée je suis preneur par avance merci.- Masquer le te xte des messages précédents -
- Afficher le texte des messages précédents -
francois.forcet
Bonjours Gildo
Soit la colonne A à traiter ce code devrait convenir :
Do While Range("A1").Offset(i, 0).Address <> Range("A65535").End(xlUp).Offset(1, 0).Address If UBound(Split(Range("A1").Offset(i, 0), " ")) >= 2 Then For j = 1 To UBound(Split(" " & Range("A1").Offset(i, 0), " ")) A = A & Split(" " & Range("A1").Offset(i, 0), " ")(j) & vbLf Next Range("A1").Offset(i, 0) = Mid(A, 1, Len(A) - 1) End If i = i + 1 Loop
Dis moi !!!!!
Bonjours Gildo
Soit la colonne A à traiter ce code devrait convenir :
Do While Range("A1").Offset(i, 0).Address <>
Range("A65535").End(xlUp).Offset(1, 0).Address
If UBound(Split(Range("A1").Offset(i, 0), " ")) >= 2 Then
For j = 1 To UBound(Split(" " & Range("A1").Offset(i, 0), " "))
A = A & Split(" " & Range("A1").Offset(i, 0), " ")(j) & vbLf
Next
Range("A1").Offset(i, 0) = Mid(A, 1, Len(A) - 1)
End If
i = i + 1
Loop
Soit la colonne A à traiter ce code devrait convenir :
Do While Range("A1").Offset(i, 0).Address <> Range("A65535").End(xlUp).Offset(1, 0).Address If UBound(Split(Range("A1").Offset(i, 0), " ")) >= 2 Then For j = 1 To UBound(Split(" " & Range("A1").Offset(i, 0), " ")) A = A & Split(" " & Range("A1").Offset(i, 0), " ")(j) & vbLf Next Range("A1").Offset(i, 0) = Mid(A, 1, Len(A) - 1) End If i = i + 1 Loop
Dis moi !!!!!
Gildo
Bonjour et merci pour vos réponses,
Toutes les solutions fonctionnent mais j’ai sans doute mal rédigé mon post. En fait dans vos soluces les séries de mots qu’elles soient séparées par un ou n caractères se voient affectées d’un retour chariot. Ce que je cherche à faire c’est à partir de trois blancs à n blancs 1 seul retour chariot ex :
Toto toto (7 blancs) toto
donne :
Toto toto toto
merci en tout cas pour vos posts précédents Ps : j’ai oublié mes lunettes aujourd’hui donc gaffe à l’orthographe
"" wrote:
Bonjours Gildo
Soit la colonne A à traiter ce code devrait convenir :
Do While Range("A1").Offset(i, 0).Address <> Range("A65535").End(xlUp).Offset(1, 0).Address If UBound(Split(Range("A1").Offset(i, 0), " ")) >= 2 Then For j = 1 To UBound(Split(" " & Range("A1").Offset(i, 0), " ")) A = A & Split(" " & Range("A1").Offset(i, 0), " ")(j) & vbLf Next Range("A1").Offset(i, 0) = Mid(A, 1, Len(A) - 1) End If i = i + 1 Loop
Dis moi !!!!!
Bonjour et merci pour vos réponses,
Toutes les solutions fonctionnent mais j’ai sans doute mal rédigé mon post.
En fait dans vos soluces les séries de mots qu’elles soient séparées par un
ou n caractères se voient affectées d’un retour chariot. Ce que je cherche à
faire c’est à partir de trois blancs à n blancs 1 seul retour chariot ex :
Toto toto (7 blancs) toto
donne :
Toto toto
toto
merci en tout cas pour vos posts précédents
Ps : j’ai oublié mes lunettes aujourd’hui donc gaffe à l’orthographe
"francois.forcet@wanadoo.fr" wrote:
Bonjours Gildo
Soit la colonne A à traiter ce code devrait convenir :
Do While Range("A1").Offset(i, 0).Address <>
Range("A65535").End(xlUp).Offset(1, 0).Address
If UBound(Split(Range("A1").Offset(i, 0), " ")) >= 2 Then
For j = 1 To UBound(Split(" " & Range("A1").Offset(i, 0), " "))
A = A & Split(" " & Range("A1").Offset(i, 0), " ")(j) & vbLf
Next
Range("A1").Offset(i, 0) = Mid(A, 1, Len(A) - 1)
End If
i = i + 1
Loop
Toutes les solutions fonctionnent mais j’ai sans doute mal rédigé mon post. En fait dans vos soluces les séries de mots qu’elles soient séparées par un ou n caractères se voient affectées d’un retour chariot. Ce que je cherche à faire c’est à partir de trois blancs à n blancs 1 seul retour chariot ex :
Toto toto (7 blancs) toto
donne :
Toto toto toto
merci en tout cas pour vos posts précédents Ps : j’ai oublié mes lunettes aujourd’hui donc gaffe à l’orthographe
"" wrote:
Bonjours Gildo
Soit la colonne A à traiter ce code devrait convenir :
Do While Range("A1").Offset(i, 0).Address <> Range("A65535").End(xlUp).Offset(1, 0).Address If UBound(Split(Range("A1").Offset(i, 0), " ")) >= 2 Then For j = 1 To UBound(Split(" " & Range("A1").Offset(i, 0), " ")) A = A & Split(" " & Range("A1").Offset(i, 0), " ")(j) & vbLf Next Range("A1").Offset(i, 0) = Mid(A, 1, Len(A) - 1) End If i = i + 1 Loop
Dis moi !!!!!
Gildo
J’ai fini par faire ça … c’est pas beau mais ça marche. Je joue sur les impairs et les paires et passe 5 fois la routine
Intersect(Range("k1", Range("k" & Range("k:k").Find("*", , , , xlByRows, xlPrevious).Row)), _ Selection.CurrentRegion).Select For i = 1 To 5 For Each c In Selection c.Value = Application.WorksheetFunction _ .Substitute(c.Value, " ", Chr(10)) c.Value = Replace(Application.Trim(c), " ", vbLf) Next c For Each c In Selection c.Value = Application.WorksheetFunction _ .Substitute(c.Value, Chr(10) & Chr(10), vbLf) c.Value = Replace(Application.Trim(c), vbLf & vbLf, vbLf) Next c
Next i
MERCI ENCORE A TOUS
"Gildo" wrote:
Bonjour et merci pour vos réponses,
Toutes les solutions fonctionnent mais j’ai sans doute mal rédigé mon post. En fait dans vos soluces les séries de mots qu’elles soient séparées par un ou n caractères se voient affectées d’un retour chariot. Ce que je cherche à faire c’est à partir de trois blancs à n blancs 1 seul retour chariot ex :
Toto toto (7 blancs) toto
donne :
Toto toto toto
merci en tout cas pour vos posts précédents Ps : j’ai oublié mes lunettes aujourd’hui donc gaffe à l’orthographe
"" wrote:
Bonjours Gildo
Soit la colonne A à traiter ce code devrait convenir :
Do While Range("A1").Offset(i, 0).Address <> Range("A65535").End(xlUp).Offset(1, 0).Address If UBound(Split(Range("A1").Offset(i, 0), " ")) >= 2 Then For j = 1 To UBound(Split(" " & Range("A1").Offset(i, 0), " ")) A = A & Split(" " & Range("A1").Offset(i, 0), " ")(j) & vbLf Next Range("A1").Offset(i, 0) = Mid(A, 1, Len(A) - 1) End If i = i + 1 Loop
Dis moi !!!!!
J’ai fini par faire ça … c’est pas beau mais ça marche.
Je joue sur les impairs et les paires et passe 5 fois la routine
Intersect(Range("k1", Range("k" & Range("k:k").Find("*", , , , xlByRows,
xlPrevious).Row)), _
Selection.CurrentRegion).Select
For i = 1 To 5
For Each c In Selection
c.Value = Application.WorksheetFunction _
.Substitute(c.Value, " ", Chr(10))
c.Value = Replace(Application.Trim(c), " ", vbLf)
Next c
For Each c In Selection
c.Value = Application.WorksheetFunction _
.Substitute(c.Value, Chr(10) & Chr(10), vbLf)
c.Value = Replace(Application.Trim(c), vbLf & vbLf, vbLf)
Next c
Next i
MERCI ENCORE A TOUS
"Gildo" wrote:
Bonjour et merci pour vos réponses,
Toutes les solutions fonctionnent mais j’ai sans doute mal rédigé mon post.
En fait dans vos soluces les séries de mots qu’elles soient séparées par un
ou n caractères se voient affectées d’un retour chariot. Ce que je cherche à
faire c’est à partir de trois blancs à n blancs 1 seul retour chariot ex :
Toto toto (7 blancs) toto
donne :
Toto toto
toto
merci en tout cas pour vos posts précédents
Ps : j’ai oublié mes lunettes aujourd’hui donc gaffe à l’orthographe
"francois.forcet@wanadoo.fr" wrote:
Bonjours Gildo
Soit la colonne A à traiter ce code devrait convenir :
Do While Range("A1").Offset(i, 0).Address <>
Range("A65535").End(xlUp).Offset(1, 0).Address
If UBound(Split(Range("A1").Offset(i, 0), " ")) >= 2 Then
For j = 1 To UBound(Split(" " & Range("A1").Offset(i, 0), " "))
A = A & Split(" " & Range("A1").Offset(i, 0), " ")(j) & vbLf
Next
Range("A1").Offset(i, 0) = Mid(A, 1, Len(A) - 1)
End If
i = i + 1
Loop
J’ai fini par faire ça … c’est pas beau mais ça marche. Je joue sur les impairs et les paires et passe 5 fois la routine
Intersect(Range("k1", Range("k" & Range("k:k").Find("*", , , , xlByRows, xlPrevious).Row)), _ Selection.CurrentRegion).Select For i = 1 To 5 For Each c In Selection c.Value = Application.WorksheetFunction _ .Substitute(c.Value, " ", Chr(10)) c.Value = Replace(Application.Trim(c), " ", vbLf) Next c For Each c In Selection c.Value = Application.WorksheetFunction _ .Substitute(c.Value, Chr(10) & Chr(10), vbLf) c.Value = Replace(Application.Trim(c), vbLf & vbLf, vbLf) Next c
Next i
MERCI ENCORE A TOUS
"Gildo" wrote:
Bonjour et merci pour vos réponses,
Toutes les solutions fonctionnent mais j’ai sans doute mal rédigé mon post. En fait dans vos soluces les séries de mots qu’elles soient séparées par un ou n caractères se voient affectées d’un retour chariot. Ce que je cherche à faire c’est à partir de trois blancs à n blancs 1 seul retour chariot ex :
Toto toto (7 blancs) toto
donne :
Toto toto toto
merci en tout cas pour vos posts précédents Ps : j’ai oublié mes lunettes aujourd’hui donc gaffe à l’orthographe
"" wrote:
Bonjours Gildo
Soit la colonne A à traiter ce code devrait convenir :
Do While Range("A1").Offset(i, 0).Address <> Range("A65535").End(xlUp).Offset(1, 0).Address If UBound(Split(Range("A1").Offset(i, 0), " ")) >= 2 Then For j = 1 To UBound(Split(" " & Range("A1").Offset(i, 0), " ")) A = A & Split(" " & Range("A1").Offset(i, 0), " ")(j) & vbLf Next Range("A1").Offset(i, 0) = Mid(A, 1, Len(A) - 1) End If i = i + 1 Loop