Extraction thématique de donées mélangées

Bonjour à tou(te)s,

J'essaye depuis quelques jours de trier une base de données mais sans grand succès ,

J'ai une colonne dans laquelle toutes les informations ont été collées les unes à la suite des autres,

Dans cette colonne chaque lettre correspond à un fruit (ex A=Abricot, B=Banane, P=Pêche), chaque lettre est suivie par un chiffre (1/2 ou 3) qui indique une fraîcheur, et des fois ce chiffre est suivi d'un indice + ou ++.

je me retrouve donc avec une colonne avec par exemple un code B3++P1A2+ au lieu d'avoir une colonne avec B3++, une avec P1 et une avec A2+

Ex:

Ce que j'aice que je veux (A)Ce que je veux (P)
Ce que je veux (B)
P1+A3B1
A3P1+B1
A2A2
B3++A1+A1+
B3++
A1B2+P2++A1P2++
B2+

Est ce que vous pensez qu'il est possible de faire cela avec Excel ?

Merci d'avance et bon weekend à vous,

Clément

Bonjour,

Est-ce que la liste est strictement limitée aux 26 lettres ?

Si possible joindre la liste en question.

Etes-vous macro-compatible ?

Prière de préciser votre version Excel et Office : Cela se lit ici Menu Fichier > Compte :

ver2016

puis :

verexcsh

A+

Bonsoir, galopin01 bonsoir,

Donc pour le macros compatibles, j'ai ceci à proposer :

Sub Extraction()
    texte = Range("F1")
    cpt = 7 ' numéro de colonne à droite de la colonne F où se trouve le texte à décomposer
    ' on boucle sur tous les caractères
    For i = 1 To Len(texte)
        ' si le caractère testé est une majuscule
        If Asc(Mid(texte, i, 1)) >= 65 Then
            ' si le fichier temporaire est en cours de construction
            If temp <> "" Then
                ' alors on inscrit la valeur du fichier temporaire car si c'est une lettre qu'on teste c'est que l'on recommence un paramètre
                Cells(1, cpt).Value = temp
                ' on incrémente le numéro de colonne de sortie pour la prochaine valeur
                cpt = cpt + 1
                ' on efface la valeur temporaire
                temp = ""
                ' on commence la nouvelle valeur de paramètre avec la lettre en cours de test
                temp = temp + Mid(texte, i, 1)
            ' si on commence tout juste l'écriture du paramètre
            Else
                ' alors il est égal au cractère testé
                temp = Mid(texte, i, 1)
            End If
        ' si c'est un autre caractère qu'une majuscule
        Else
            ' la valeur temporaiure est égale à elle-même plus ce nouveau caractère
            temp = temp + Mid(texte, i, 1)
        End If
    Next i
    ' on inscrit la valeur du paramètre en cours d'écriture
    Cells(1, cpt) = temp
End Sub

Mais il doit y avoir plus simple, non ?

Attention ! le code ne boucle pas sur la liste, il faut le modifier et rendre "F1" variable grâce à cette boucle, je vous laisse gérer ceci.

@ bientôt

LouReeD

Bonjour à tous

Une proposition PowerQuery

Données Actualiser tout si la source évolue

10fruit-pq.xlsx (19.84 Ko)

2018 n'existant pas, il s'agit sans doute de 365 révision 2018

Rechercher des sujets similaires à "extraction thematique donees melangees"