Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

apres point-virgule, saut à la ligne???

Cypher

XLDnaute Nouveau
bonjour

j'ai un fichier qui contient tous les éléments séparés par des points-virgules dans une seule colonne et sur la meme ligne.

on pourrait faire un saut à la ligne après le point-virgule automatiquement?


merci de vos réponses

cordialement

cyphos
 

SergiO

XLDnaute Accro
Re : apres point-virgule, saut à la ligne???

Bonjour Cypher,

Peut-être que ce code pourrait te servir mais en l'absence d'un bout de ton fichier pour exemple, je ne peux l'affirmer.

Pour ce code, les données séparées par un point virgule sont en colonne A,
et le résultat se met en colonne B.

Code:
Sub test()
Application.ScreenUpdating = False
L = 0
DerLig = Range("A65536").End(xlUp).Row
For i = 1 To DerLig
X = Cells(i, 1)
Suivant:
Lg = Len(X)
Pos = InStr(1, X, ";")
If Pos = 0 Then
Cells(i + L, 2) = X
Else
Cells(i + L, 2) = Left(X, Pos - 1)
X = Mid(X, Pos + 1, Lg)
L = L + 1
GoTo Suivant
End If
Next i
Application.ScreenUpdating = True
End Sub

Bon test

@+
 

chris

XLDnaute Barbatruc
Re : apres point-virgule, saut à la ligne???

Bonjour
Solution sans macro (si moins de 256 éléments) :
- utiliser Données convertir, indiquer comme séparateur le point virgule.
- Une fois les données réparties dans les colonnes, faire un copier/collage spécial en cochant transposé.
 

Pierrot93

XLDnaute Barbatruc
Re : apres point-virgule, saut à la ligne???

Re Cypher, Sergio, Chris

une autre solution par vba, en supposant que tes données soient dans la cellule A1 :

Code:
Sub test()
Dim tb() As String, i As Integer
tb = Split(Range("A1").Value, ";")
For i = LBound(tb) To UBound(tb)
    Cells(i + 1, 1).Value = tb(i)
Next i
End Sub

bonne fin d'après midi
@+
 

Discussions similaires

Réponses
11
Affichages
353
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…