Séparer 2 mots dans 2 colonnes différentes

excel12

XLDnaute Nouveau
Bonjour,

Je souhaite traiter une liste de vocabulaires qui a plus de 2000 mots avec une macro Excel.
Je ne connais pas exactement le nombre de mots.
Tous les mots sont dans la colonne A.
Chaque ligne est constituée d'un «mot1» et d'un «mot2» séparés par un « : »

Exemple:
Colonne A
mot1 : mot2
mot3 : mot4
mot5 : mot6
etc...


Le «mot1» doit rester dans la colonne A
Le «mot2» doit être déplacé dans la colonne B
Le «:» doit être supprimé.
L'opération doit se répéter pour tous les mots.

La macro doit donner:
Colonne A ___Colonne B
mot1________mot2
mot3________mot4
mot5________mot6
etc...


Je suis très débutant en Visual Basic.

Merci pour votre aide!
 

Gardien de phare

XLDnaute Accro
Re : Séparer 2 mots dans 2 colonnes différentes

Bonjour,

Et sans Vba, ça ne te dirait pas ? Tu sélectionnes la colonne A, tu vas dans "Données" > "Convertir", tu choisis "délimité" puis "autre" et tu mets le : comme séparateur. Le tour est joué.

Seul pb, il te reste un espace avant chaque mot à partir de la colonne 2. Tu sélectionnes toutes les colonnes, tu fais Ctrl+H (raccourci pour remplacer), tu mets un espace dans "rechercher", rien dans "remplacer" et tu remplaces tout.

HTH
 

JHA

XLDnaute Barbatruc
Re : Séparer 2 mots dans 2 colonnes différentes

Bonjour à tous,

pas besoin de macro pour cela, Données/convertir/délimité/cocher espace,autre et mettre ":" sans les guillemets dans la case blanche puis suivant et terminé
peut résoudre ton soucis en un clin d'oeil.

Edit: bonjour gardien de phare

JHA
 
Dernière édition:

excel12

XLDnaute Nouveau
Re : Séparer 2 mots dans 2 colonnes différentes

Wow! C'est génial!
C'est encore mieux que ce que j'aurai pu espérer!
Évidemment, cette façon de faire me plait beaucoup plus qu'utiliser une macro!
Je ne connaissais pas cet outil.
Merci beaucoup!
 

DoubleZero

XLDnaute Barbatruc
Re : Séparer 2 mots dans 2 colonnes différentes

Bonjour, le Fil, le Forum,

Bienvenue sur XLD, excel12 !

Le reflet, par VBA, des propositions émises par Gardien de phare et JHA :

Code:
Sub Une_colonne_vers_deux()
    Columns("A:A").TextToColumns Destination:=Range("D1"), DataType:=xlDelimited, _
        TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _
        Semicolon:=False, Comma:=False, Space:=False, Other:=True, OtherChar _
        :=":", FieldInfo:=Array(Array(1, 1), Array(2, 1)), TrailingMinusNumbers:=True
End Sub

A bientôt :)
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Re : Séparer 2 mots dans 2 colonnes différentes

Bonjour excel12,

Nul besoin de macro.

sélectionner la colonne A et remplacer " : " (sans les apostrophes) par ":" (on élimine les deux espaces) - pour faire apparaître la boîte de dialogue "Remplacer", taper Ctrl+H après avoir sélectionné la colonne A.

Avec la colonne A toujours sélectionnée, cliquer sur le menu: Données/Convertir.
Choisir "Délimité" puis cliquer sur suivant
Indiquer comme séparateur "Autre" et saisir les ":" (sans les apostrophes) puis cliquer sur Terminer.

nb: bien en retard :mad:
 

excel12

XLDnaute Nouveau
Re : Séparer 2 mots dans 2 colonnes différentes

Merci DoubleZero pour le code VBA.
C'est un peu compliqué pour moi, mais je pourrai l'observer pour l'étudier.

Aussi, comment faire pour être bon en programmation? C'est-à-dire, connaître tous les paramètres qu'il faut invoquer pour que le programme fonctionne bien. Je regarde votre code, et il y a beaucoup de paramètres auxquelles je n'aurais jamais pu avoir l'idée qu'ils existent.

Merci pour votre aide.
 

Gardien de phare

XLDnaute Accro
Re : Séparer 2 mots dans 2 colonnes différentes

Bonjour, coucou 00, JHA, mapomme,

Le Vba, ce n'est pas forcement si compliqué que ça, en tout cas, si tu utilises Excel, ça vaut le coup de s'y mettre. Chacun a sa référence favorite, perso je te suggère d'aller voir chez Misange (excelabo) et de commencer avec la rubrique "Macros- apprendre".
 

ralph45

XLDnaute Impliqué
Re : Séparer 2 mots dans 2 colonnes différentes

Bonjour à tous...

Autre proposition :
Copier la colonne A en B (donc faire un doublon) ;
Sélectionner la colonne A, puis Edition / Rechercher : "espace vide:*" / Remplacer par:rien > OK ;
Sélectionner la Colonne B, puis Edition / Rechercher : "*:espace vide" / Remplacer par :rien > OK.

A+
 

pierrejean

XLDnaute Barbatruc
Re : Séparer 2 mots dans 2 colonnes différentes

Bonjour à tous

Pour le fun (et ceux qui s’intéressent aux tableaux en VBa)

Code:
Sub test()
ReDim tabres(1, 0)
tablo = Range("A1:A" & Range("A" & Rows.Count).End(xlUp).Row)
For n = LBound(tablo, 1) To UBound(tablo, 1)
 tabres(0, UBound(tabres, 2)) = Split(tablo(n, 1), ":")(0)
 tabres(1, UBound(tabres, 2)) = Split(tablo(n, 1), ":")(1)
 ReDim Preserve tabres(1, UBound(tabres, 2) + 1)
Next
Range("A1").Resize(UBound(tabres, 2), 2) = Application.Transpose(tabres)
End Sub
Sub test1()
Set dico = CreateObject("Scripting.dictionary")
tablo = Range("A1:A" & Range("A" & Rows.Count).End(xlUp).Row)
For n = LBound(tablo, 1) To UBound(tablo, 1)
  x = Split(tablo(n, 1), ":")(0)
  dico(x) = Split(tablo(n, 1), ":")(1)
Next
Range("A1").Resize(dico.Count) = Application.Transpose(dico.keys)
Range("B1").Resize(dico.Count) = Application.Transpose(dico.items)
End Sub
 

Discussions similaires

Réponses
14
Affichages
556
Réponses
24
Affichages
795

Statistiques des forums

Discussions
312 217
Messages
2 086 354
Membres
103 197
dernier inscrit
sandrine.lacaussade@orang