Macro avec parsing du texte

Bonjour à tous et joyeux Noël ! ! ! !

J'ai un petit cadeau à vous demander, j'aimerai arriver à faire une macro qui me permet de faire du parsing (découpage de texte en automatique).

Dans le fichier joint, imaginez que les cellules à analyser sont en colonne A (exemple A1 dans mon cas, mais les autres seront en A2, A3, A4, ... A5000), et il faudrait que cette macro fasse le découpage du texte contenu dans chaque cellule, sachant que le découpage se fait de la manière suivante : A chaque fois que la ligne dans la cellule contient la chaine de caractère (Work notes) alors le texte de cette ligne et des suivantes (jusqu'à la prochaine ligne contenant (Work notes)), soit mis dans une cellule différente. Dans une cellule, il peut y avoir 1 , 2, 5, 10, 20 .... champs à découper du coup (bref, le nbr de colonne n'est pas une problématique).

J'ai mis dans le fichier, un seul exemple d'une cellule avant la macro et en-dessous, la meme cellule/ligne avec le parsing fait, pour être sur que vous compreniez mes besoins.

Si quelqu'un aurait la bonté de m'aider à la créer, cela me simplifierait la tache. J'ai commencé à différentes méthodes, mais je ne m'en sors pas.

Merci d'avance de votre aide !

Bonsoir

ci joint un essai.

Fred

Bonjour,

Il ne marche pas exactement comme prévu, car les lignes de "commentaires" peuvent être d'une longueur différente (genre 7-9 lignes, avant la prochaine occurence du "work notes").

Bonjour,

Bonjour à tous,

une proposition (sur base de ton fichier exemple) mais qu'il faudrait très certainement adapter à ton fichier réel.

Sub aargh()
    texte = Range("A2") '<- pour A2, à adapter
    sep = vbLf
    ts = Split(texte, sep)
    With Range("A5") '<- où commencer à mettre le résultat, à adapter
        For i = LBound(ts) To UBound(ts)
        If InStr(ts(i), "Work notes") > 0 Then k = k + 1: .Cells(1, k) = ""
            .Cells(1, k) = .Cells(1, k) & vbLf & Application.Clean(ts(i))
        Next i
    End With
End Sub

Cela semble marcher sur les 2-3 premiers exemples que j'ai. Je vais pousser un peu les essais, mais cette base me parait SUPER ! ! ! !

Je reviens vers tout le monde dans la journée (le temps d'aller faire 2-3 descentes de luge quand même ;-) pour confirmer cela.

Après quelques tours de luge, j'ai testé ta macro avec une cinquantaine de cas et ça fonctionne nickel. J'ai encore plein de chose à construire autour de cela, mais la partie qui me bloquait le plus fonctionne ! ! !

Merci à toi H2So4

Rechercher des sujets similaires à "macro parsing texte"