Extraire les données

Bonjour,

je cherche à extraire les données d'une cellule sur plusieurs lignes en fonction du nombre de mot séparés par un espace. Le fichier est ci-joint. Mon tableau à l'origine est dans la feuille"origine" et je souhaite avoir un résultat tel que dans la feuille "finale".

Quelqu'un pourra m'apporter son savoir faire. En vous remerciant d'avance.

8ref.xlsx (9.86 Ko)

Bonsoir le forum.

Testes et dis-nous.

Cordia5

11cordia5-ref.xlsm (20.54 Ko)

Bonsoir à tous,

Une autre façon de procéder :

Option Explicit
Sub test()
Dim a, b(), i As Long, n As Long, e, flag As Boolean
    With Sheets("origine").Range("a1").CurrentRegion
        a = .Value
        'attention à la 1ère dimension
        ReDim b(1 To 100, 1 To UBound(a, 2))
        n = 1
        b(n, 1) = a(1, 1)
        b(n, 2) = a(1, 2)
        b(n, 3) = a(1, 3)
        For i = 2 To UBound(a, 1)
            flag = False
            For Each e In Split(Trim(a(i, 3)))
                n = n + 1
                If flag = False Then
                    b(n, 1) = a(i, 1)
                    b(n, 2) = a(i, 2)
                End If
                b(n, 3) = Trim(e)
                flag = True
            Next
        Next
        With .Offset(, .Columns.Count + 1)
            .CurrentRegion.ClearContents
            .Resize(n, UBound(a, 2)).Value = b
        End With
    End With
End Sub

klin89

Bonsoir Siva, le forum,

je te retourne ton fichier modifié :

4ref.xlsm (17.40 Ko)

Ctrl e ➯ travail effectué !


Alt F11 pour voir le code VBA, puis revenir sur Excel

si besoin, tu peux demander une adaptation.

merci de me dire si ça te convient.

dhany

Rechercher des sujets similaires à "extraire donnees"