Formule STXT et retour à la ligne

Bonjour à tous,

dans le cadre d'un travail, j'ai différentes informations qui se retrouvent dans une cellule sous ce format-ci:

info 1 : blabla

info 2 : blablabla

info 3 : blablabla

Je suis sensé extraire les informations de la cellule pour les mettre dans la colonne adéquate (chaque titre de colonne correspond à info 1, 2 et 3) sauf qu'il y a plusieurs problèmes car la base de données fournie n'est vraiment pas de qualité:

- le nom des informations ne sont pas toujours les mêmes (parfois il est écrit info 1, parfois inf1, parfois information 1, en gros, plein d'orthographes possibles et parfois même des fautes d'orthographes)

- les informations ne sont pas dans le même ordre systématiquement

- elles sont séparées par un retour à la ligne

Du coup, j'ai essayé en appliquant une formule STXT mais qui ne fonctionne pas à cause des problèmes cités au dessus (ça marchera pour la majorité de mes cellules, mais s'il y a un de ces problèmes, ça me donnera des informations incomplètes (par exemple des lettres provenant de l'élément suivant).

Le seul point commun que j'ai pu repérer c'est ce fameux retour à la ligne, du coup je me dis que si je repère les différents orthographes pour le nom des informations, que je fais une formule SI avec une formule OU, il me faudrait indiquer de prendre tout le texte entre le nom de l'information cherchée et le prochain retour à la ligne. Le hic, c'est que je ne vois pas du tout comment indiquer à excel de s'arrêter avant le retour à la ligne.

Par exemple au dessus: dans ma formule je mettrai qu'il prenne tous les caractères après le "info 1: " jusqu'au retour à la ligne, et il prendrait donc uniquement le "blabla".

Auriez-vous une solution? Est-ce seulement possible?

Bonjour

Merci de compléter ton profil en indiquant ta version Excel et de joindre un fichier représentatif de quelques lignes

Voici ci-joint un fichier exemple, j'ai mis les mêmes informations dans la colonne E mais des titres variant légèrement entre la première cellule et la deuxième (je me doute bien que pour les titres qui changent légèrement je devrai faire des conditions dans ma formule).

Comment faire pour prendre sur la ligne 1 par exemple l'information 12345 en sachant que pour la ligne suivante, cette information n'est plus 12345 mais 12345785 ? Etant donné que l'information peut changer de position, je ne peux pas dire de prendre les caractères après info1 jusqu'avant info2, le seul point commun c'est ce fameux passage à la ligne.

Je ne sais pas si ma question est claire, j'ai un peu du mal à l'exprimer par écrit.

6exemple.xlsx (8.85 Ko)

Bonjour

Une proposition PowerQuery intégré à Excel

Données, Actualiser Tout quand la source change

9exemple-pq.xlsx (18.70 Ko)

Bonjour à tous,

Voici une proposition avec une macro :

Sub Spliter()

dim tinfos()

With ActiveSheet
    dl = .Cells(.Rows.Count, 6).End(xlUp).Row
    ReDim tinfos(1 To dl - 1, 1 To 5)
    For i = 2 To dl
        t = Split(.Cells(i, 6).Value, ":")
        If ubound(t) > 0 Then
            For j = LBound(t) + 1 To UBound(t)
                tinfos(i - 1, j) = Application.Trim(Application.Clean(Split(t(j), Chr(10))(0)))
            Next j
        Else
            For k = 1 To 5: tinfos(i - 1, k) = "": Next k
        End If
    Next i
    .Cells(2, 1).Resize(dl - 1, 5) = tinfos
End With

End Sub
3exemple.xlsm (19.28 Ko)

Cdlt,

Merci pour vos réponses! Je vais essayer de les comprendre vu que je n'ai jamais touché à VBA ou à PowerQuery, mais ça va m'aider énormément!

RE

En ouvrant PowerQuery (Données, Obtenir des Données, Lancer PowerQuery) tu peux voir les étapes de la requête à droite avec le détail dans la barre de formule et en cliquant sur le rouage

SI tu coinces sur une étape, reposte

Du coup il y a quand même de l'importance au niveau de l'ordre des informations vu que si on met l'information 1 en position 3 au lieu de la position 1 par exemple, elle apparaitra dans la 3ème colonne, ou bien il y a un moyen de paramétrer pour qu'il le place en position 1 ?

RE

C'est tri' par ordre alpha donc cela dépend des contenus. On pourrait utiliser l'ordre d'apparition.

SI une liste de toutes les infos existe dans l'ordre voulu ou peut l'utiliser pour trier...

Nouvelle édition et encore rien qui apparaît ! Ca fait plusieurs fois !

Salut JoyeuxNoel,

Intéressant ce que tu nous dis là !

halte à la censure !

Ça fait 3 fois, sur différents posts, que ce que j'écris est supprimé avant la validation. Soit dans son ensemble, soit en partie .... Halte à la censure !

Après, pour de vrai, je ne disais pas grand chose d'intéressant. Juste que je savais qu'un jour ce code te serait à nouveau utile ;)

Grand complot contre le Père Noel ! Tu as pas confondu la flèche pour revenir en arrière avec le bouton envoyer par hasard ?

Oui, le problème est similaire mais le tien était beauuuuuucoup plus intéressant . On rencontre souvent les mêmes problèmes finalement.

Et moi qui étais prêt à remonter l'info à Sébastien. Tu fais bien de me faire remarquer que je faisais précédent en fait ! Si ça se trouve je devrais avoir le double de messages en fait !

Oui, des fois c'est déprimant, on se rend compte qu'on fait toujours pareil...

Alors on fait un décaler au lieu d'un sommeprod et ça met du baume au cœur 😍

C'est donc pour ça que tous les sujets ultra complexes ne sont pas résolus, tes messages ne sont pas passés en fait !

Oui, exactement, c'est un peu comme un parc d'attractions, on fait beaucoup le même manège puis on va sur un autre...

Ah non, je n'aurais pas cette prétention. Je ne traite que les sujets faciles

Je sais bien, je te taquine ! Tu es trop humble !

Rechercher des sujets similaires à "formule stxt retour ligne"