Extraire score chaine de caractère

Bonsoir à tous,

J'ai des données de baseball avec le score de l'équipe 1 en colonne A et le score de l'équipe 2 en colonne B:

en A "(12)(11)(12)(15)(10)3456789"

en B "100893456789"

Le souci c'est que lorsqu'une équipe fait une score supérieur à 9 dans une manche, ce score s'écrit entre parenthèses. Le but est d'extraire le score de chaque équipe pour chaque manche de chaque match. Evidemment tout les cas de figures peuvent survenir, une équipe peut fait un score supérieur à 9 dans chaque manche (il y a 9 manches normalement mais des fois plus et parfois moins, ce n'est pas régulier) ou dans aucune manche ou juste à la 6ème manche ou 7èem etc... Si une équipe ne joue pas la dernière manche car le match lui est déjà acquis, il y a un "x" qui s'écrit, il faudrait l'extraire aussi.

Il y a un exemple fait à la main en fichier joint (mon fichier origanl contient bien plus de lignes )

Merci d'avance et n'hésitez pas si vous avez des questions !

Quik

13exemple-score.xlsx (8.64 Ko)

Bonsoir Quik,

une façon de faire : double-clic sur la première ligne des données à traiter.

For x = Target.Row To Range("A" & Rows.Count).End(xlUp).Row
    For y = 1 To 2
        iCol = 0
        sData = Split(Cells(x, y), Chr(34))(1)
        For k = 1 To Len(sData)
            iCol = iCol + 1
            Cells(x, Choose(y, 2, 14) + iCol) = IIf(IsNumeric(Mid(sData, k, 1)), Mid(sData, k, 1), IIf(k = Len(sData), "x", Mid(sData, k + 1, 2)))
            If Not IsNumeric(Mid(sData, k, 1)) Then k = k + 3
        Next
    Next
Next

A+

17score.xlsm (15.19 Ko)

Bonsoir Curulis,

Merci beaucoup pour ta solution qui fonctionne parfaitement !!

Je marque le sujet comme résolu

A bientôt

Quik

Rechercher des sujets similaires à "extraire score chaine caractere"