Séparation des mots ont une cellule sur plusieurs colonnes

bonjour à tous et à toutes,

je viens vers vous afin de demander de l'aide car je suis dans un impasse et je n'arrive à m'avancer voilà :

j'ai une extraction des données sur une cellule avec des mots et des chiffres, mon souhait c'est de séparer ces mots et s'est chiffre par colonne automatiquement,

je vous est mis un exemple en pièce jointe

merci pour votre aide

cordialement

5test.xlsx (9.67 Ko)

Bonjour

Voir ci-joint

7decoupetxt.xlsx (10.36 Ko)

Bonjour à tous,

un essai macro qui fonctionne strictement pour la structure de donnée du classeur fourni :

Sub Robich()
Dim T, W1 As Worksheet, W2 As Worksheet, Pos As Integer, i As Long, j As Byte

Set W1 = Worksheets("exemple") ' à adapter
Set W2 = Worksheets("résultat souhaité") ' à adapter

T = W1.Range("A1:A" & W1.Range("A" & Rows.Count).End(xlUp).Row)
ReDim Preserve T(1 To UBound(T, 1), 1 To 4)
For i = LBound(T, 1) To UBound(T, 1)
    Pos = InStr(T(i, 1), "[")
    For j = 2 To 4
        T(i, j) = Split(Mid(T(i, 1), Pos + 1, Len(T(i, 1)) - Pos - 1), "-")(j - 2)
    Next
    T(i, 1) = Left(T(i, 1), Pos - 2)
Next

W2.Range("A2").Resize(UBound(T, 1), 4) = T
End Sub

A+

super pour ta rapidité et ton travail,

juste une derrière question, tu peux m'éclairer comment je peu faire pour trier par exemple nombre de visite par mois 165 000/mo ou par 0.51€ (CPC) ou 0.56 (coût) de plus au moins ou l'inverse au même temps que les autres colonne suite les changements.

merci encore pour ton aide

slt AlgoPlus et merci pour le code,

est en peu ajouter le trie par exemple nombre de visite par mois 165 000/mo ou par 0.51€ (CPC) ou 0.56 (coût) de plus au moins ou l'inverse au même temps que les autres colonne suite les changements sur ton code?

merci encore pour ton aide

Que la question s'adresse à 78chris ou à moi, la difficulté sera sur le nombre de visite par mois (165 000/mo), car cette données est du texte. le tri s'effectuera de manière alphabétique.

Ainsi 2 sera supérieur à 10

En supprimant /mo, on retrouve du numérique permettant un tri croissant ou décroissant "normal"

Sub Robich()
Dim T, W1 As Worksheet, W2 As Worksheet, Pos As Integer, i As Long, j As Byte

Set W1 = Worksheets("exemple") ' à adapter
Set W2 = Worksheets("résultat souhaité") ' à adapter

T = W1.Range("A1:A" & W1.Range("A" & Rows.Count).End(xlUp).Row)
ReDim Preserve T(1 To UBound(T, 1), 1 To 4)
For i = LBound(T, 1) To UBound(T, 1)
    Pos = InStr(T(i, 1), "[")
    For j = 2 To 4
        T(i, j) = Split(Mid(T(i, 1), Pos + 1, Len(T(i, 1)) - Pos - 1), "-")(j - 2)
    Next
    T(i, 2) = Left(T(i, 2), Len(T(i, 2)) - 4)
    T(i, 1) = Left(T(i, 1), Pos - 2)
Next

W2.Range("A2").Resize(UBound(T, 1), 4) = T
End Sub

merci AlgoPlus pour la réponse, l'essentiel c'était d'avoir le chiffre de visite par mois, par contre quand j'essaye le trie personnalisé pour la colonne visite par mois il me l'ordre de A à Z alors que les deux autres sont de plus grand au plus petit ou l'inverse, tu sais ça viens d'ou? et une dernière demande s'il te plait tu m’éclairer pour un code pour faire reset car chaque fois j'ai des milliers de mots pour ne pas supprimer manuellement et refaire une liste nouvel

merci encore

Pour le reset de la feuille résultats

rajouter juste après

Set W2 = Worksheets("résultat souhaité") ' à adapter

la ligne :

W2.UsedRange.ClearContents

Pour le problème de tri, étant sur une version ancienne d'Excel, je ne connais pas les manips à effectuer sur la tienne.

Mais après avoir sélectionné les données, on définit sur quelles colonnes sera fait le tri , et le sens du tri par colonne....

Merci encore pour ton aide,

une dernière demande et je vous dérange plus,sur la feuille de résultat, la première ligne je souhaite nommé les quatre colonnes qui correspond au chiffre (Nom, Visite par mois, ect....), mais chaque fois j'active le code il me le supprime automatiquement, en peu arrangé ça SVP.

merci encore pour votre aide précieuse

cordialement

A la place de

W2.UsedRange.ClearContents

coller cette ligne

W2.Range("A2:D" & W2.Range("A" & Rows.Count).End(xlUp).Row).ClearContents

Bonne suite

merci beaucoup pour ton aide précieuse

Rechercher des sujets similaires à "separation mots ont colonnes"