OVH Cloud OVH Cloud

decouper chaîne en cellules

4 réponses
Avatar
lolodev
bonjour

j'ai une colonne qui contient :

lib1 - lib2 - lib3

et ceci sur 12000 lignes !

je voudrais remplacer cette colonne par 3 colonnes contenant
respectivement :
lib1, lib2 et lib3

(le caract=E9re "-" peut =EAtre pris comme caract=E9re de decoupe de
cha=EEne.)

Comment ecrire cette macro ???

merci !!!

4 réponses

Avatar
lSteph
BonjourLaurent,
Presque plus vite fait que idem en macro.
Ton idée paraît bonne Menu données convertir et utiliser un séparateur.
Toutefois il sera probablement nécessaire ensuite de remplacer les espaces
encadrant ce "-"
Ou de rechercher/remplacer avant les " - " par "µ"
puis données convertir délimité "µ"

lSteph
"lolodev" a écrit dans le message de news:

bonjour

j'ai une colonne qui contient :

lib1 - lib2 - lib3

et ceci sur 12000 lignes !

je voudrais remplacer cette colonne par 3 colonnes contenant
respectivement :
lib1, lib2 et lib3

(le caractére "-" peut être pris comme caractére de decoupe de
chaîne.)

Comment ecrire cette macro ???

merci !!!
Avatar
lSteph
Re,
voici donc en VBA c'est juste plus long à écrire:

Sub test()
Application.ScreenUpdating = False
Columns(1).Select
With Selection
.Replace What:=" - ", Replacement:="µ", _
LookAt:=xlPart, SearchOrder:=xlByRows, _
MatchCase:úlse, SearchFormat:úlse, _
ReplaceFormat:úlse
.TextToColumns Destination:=.Cells(1), _
DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, _
ConsecutiveDelimiter:úlse, Tab:úlse, _
Semicolon:úlse, Comma:úlse, Space:úlse, _
Other:=True, OtherChar:="µ"
End With
Application.ScreenUpdating = True
End Sub

'lSteph

"lolodev" a écrit dans le message de news:

bonjour

j'ai une colonne qui contient :

lib1 - lib2 - lib3

et ceci sur 12000 lignes !

je voudrais remplacer cette colonne par 3 colonnes contenant
respectivement :
lib1, lib2 et lib3

(le caractére "-" peut être pris comme caractére de decoupe de
chaîne.)

Comment ecrire cette macro ???

merci !!!
Avatar
Jacky
Bonsoir,
Ou encore, en adaptant la colonne A:A dans l'exemple.
'----------
Sub jj()
Range("A:A").Select '***A adapter***
Selection.TextToColumns Destination:=Range("A1"),
DataType:=xlFixedWidth, _
OtherChar:="-", FieldInfo:=Array(Array(0, 1), Array(4, 1), Array(7,
1), Array(11, _
1), Array(14, 1))
Columns("B:B").Select
Selection.Delete Shift:=xlToLeft
Columns("C:C").Select
Selection.Delete Shift:=xlToLeft
End Sub
'------------
Salutations
JJ

"lolodev" a écrit dans le message de news:

bonjour

j'ai une colonne qui contient :

lib1 - lib2 - lib3

et ceci sur 12000 lignes !

je voudrais remplacer cette colonne par 3 colonnes contenant
respectivement :
lib1, lib2 et lib3

(le caractére "-" peut être pris comme caractére de decoupe de
chaîne.)

Comment ecrire cette macro ???

merci !!!
Avatar
Jacky
Ouuppss !!!!!
Plus court et plus juste......
'--------
Sub JJ()
Columns("A:A").Select '***A Adapter**
Selection.TextToColumns Destination:=Range("A1"),
DataType:=xlFixedWidth, _
OtherChar:="-", FieldInfo:=Array(Array(0, 2), Array(4, 9), Array(7,
2), Array(11, _
9), Array(14, 2))
End Sub
'----------
JJ
"lolodev" a écrit dans le message de news:

bonjour

j'ai une colonne qui contient :

lib1 - lib2 - lib3

et ceci sur 12000 lignes !

je voudrais remplacer cette colonne par 3 colonnes contenant
respectivement :
lib1, lib2 et lib3

(le caractére "-" peut être pris comme caractére de decoupe de
chaîne.)

Comment ecrire cette macro ???

merci !!!