retour chariot

Le
Gildo
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.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Philippe.R
Le #5170611
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" 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
Le #5170591
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"
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"


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
Le #5168281
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
Le #5168161
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 !!!!!



Gildo
Le #5168061
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 !!!!!





Publicité
Poster une réponse
Anonyme