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

separation terme cellule

dabom

XLDnaute Nouveau
Bonjour,

Je debute en visual basic (enfin disons que j’ai pas mal oublie). J’ai 2 problemes :


dans la colonne A, j’ai une liste d’environ 4000 termes, saisi en 3 parties, dans la forme suivante :

Colonne A
100-AAA-000
999-ABC-111
... (x 4000)

Et j’aimerai separer ces parties avec 1ere partie dans la colonne B, 2eme partie dans la colonne C et troisieme partie dans la colonne D.
Ex :
Colonne B
100
999
...
Colonne C
AAA
ABC
...
Colonne D
000
111
...

Et cela pour les environ 4000 termes.
A noter que j’ai besoin de faire cette operation qu’une seule fois. Mais faire ca 1 par 1 me parait bcp trop long.

De plus chaque terme est separe d’une ligne sans donnee. Comment, dans une feuille excel, supprimer toutes les lignes sans donnees ?


Merci d’avance pour votre aide precieuse.
(si vous me donnez les lignes de code a taper, je saurai les utiliser et les comprendre...je suis debutant, mais pas totalement debutant)
 

Minick

XLDnaute Impliqué
Re : separation terme cellule

Salut,

Quelque chose comme ca:
Code:
    With Range("A1:A" & Range("A6553").End(xlUp).Row)
                
        .TextToColumns Destination:=Range("B1"), DataType:=xlDelimited, Tab:=False, _
            Semicolon:=False, Comma:=False, Space:=False, Other:=True, OtherChar:="-", _
            FieldInfo:=Array(Array(1, xlTextFormat), Array(2, xlTextFormat), Array(3, xlTextFormat))
                
        .SpecialCells(xlCellTypeBlanks).EntireRow.Delete xlShiftUp
    End With
 

pierrejean

XLDnaute Barbatruc
Re : separation terme cellule

bonjour dabom

A tester:

Code:
Sub test()
For n = Range("A65536").End(xlUp).Row To 1 Step -1
  If Range("A" & n) = "" Then Rows(n).Delete
Next n
For n = 1 To Range("A65536").End(xlUp).Row
 Range("B" & n) = Split(Range("A" & n), "-")(0)
 Range("C" & n) = Split(Range("A" & n), "-")(1)
 Range("D" & n) = Split(Range("A" & n), "-")(2)
Next n
End Sub

Edit : Salut Minick
 
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…