Formatage de tableau à base de donnée en lignes

Bonjour, je dois traiter des donnée provenant d'un fichier sous forme de tableau, et remplir une base de donnée sous forme de lignes (une seule valeur par description) vous pouvez voir sur mon fichier ci joint le format que j'ai et le format que je souhaite. Le but est d'automatiser cette mise en forme pour intégrer les données (sous forme de ligne) dans une base de donnée globale

Il me faut donc afficher le status de la donnée et le pays concernés en ligne associés à leur valeur, (le titre de la colone doit etre divisé et réparti sur toutes ses valeurs)

J'ai à faire à bcp d'infos et j'ai tenté des macros mais ça à planté

Merci beaucoup si vous pouvez m'aider

5test-format.xlsx (11.49 Ko)

Bonjour

Si tu peux installer l'add on PowerQuery (intégré à Excel à partir de 2016, en addon sur 2010) c'est faisable en quelques clics

5decroiser-pq.xlsx (21.93 Ko)

Bonjour,

Essaie ainsi :

Public Sub TransposeData()
Dim tbl, arr()
Dim cn As Long, rw As Long, k As Long
    With ActiveSheet
        .Cells(12).CurrentRegion.Offset(1).ClearContents
        tbl = .Cells(1).CurrentRegion.Value
        For cn = 5 To UBound(tbl, 2)
            For rw = 2 To UBound(tbl)
                If tbl(rw, cn) <> "" Then
                    ReDim Preserve arr(7, k + 1)
                    arr(0, k) = VBA.Split(tbl(1, cn))(0)
                    arr(1, k) = tbl(rw, 1)
                    arr(2, k) = tbl(rw, 2)
                    arr(3, k) = tbl(rw, 3)
                    arr(4, k) = tbl(rw, 4)
                    arr(5, k) = VBA.Split(tbl(1, cn))(1)
                    arr(6, k) = tbl(rw, cn)
                    k = k + 1
                End If
            Next rw
        Next cn
        .Cells(2, 12).Resize(k, 7).Value = Application.Transpose(arr)
    End With
End Sub

Merci Beaucoup à vous deux je vais tester cela !

Rechercher des sujets similaires à "formatage tableau base donnee lignes"