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

separation terme cellule

  • Initiateur de la discussion Initiateur de la discussion dabom
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

D

dabom

Guest
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) 😉
 
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
 
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
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…