Reshape base Excel

Bonjour à tous,

Devant effectuer un travail d'économétrie sur des données de panel avec R, je dois refondre ma base excel (que j'ai posté en capture d'écran en fichier joint) sous une autre forme pour pouvoir travailler correctement: je souhaiterais avoir en ligne mes variables de pays et d'années (exemple: Angola 1990 ligne 1, puis Angola année 91 ligne 2, etc.) et en colonne mes variables expliatives/ expliquée c'est à dire celles de "Series.Name". Etant débutant sur excel, j'ai essayé avec une extension reshape data, mais celle ci m'indique une erreur d'éxécution, et je pensais passer par VBA. Any help?

Merci par avance.

Sébastien

capture

Bonjour,

mets-nous une extrait de ton fichier avec quelques données.

Voici la base en question, cela convient-il?

Merci d'avance.

28database.ods (291.52 Ko)

bonjour,

voici une macro Excel qui reformate tes données dans une nouvelle feuille. la feuille "sheet1" doit exister.

Sub aargh()
    Set wsi = Sheets("data")
    Set wso = Sheets("sheet1")
    i = 2
    x = 1
    wso.Cells(x, 1) = "Series name"
    wso.Cells(x, 2) = "Country name"
    wso.Cells(x, 3) = "country code"
    wso.Cells(x, 4) = "Year"
    wso.Cells(x, 5) = "value"
    x = x + 1
    While wsi.Cells(i, 1) <> ""
        sn = wsi.Cells(i, 1)
        cn = wsi.Cells(i, 2)
        cc = wsi.Cells(i, 3)
        j = 4
        While wsi.Cells(1, j) <> ""
            If wsi.Cells(i, j) <> ".." Then
                wso.Cells(x, 1) = sn
                wso.Cells(x, 2) = cn
                wso.Cells(x, 3) = cc
                wso.Cells(x, 4) = wsi.Cells(1, j)
                wso.Cells(x, 5) = wsi.Cells(i, j)
                x = x + 1
            End If
            j = j + 1
        Wend
        i = i + 1
    Wend
End Sub

C'est parfait. Merci beaucoup!

Bonne fêtes,

Sebastien

Rechercher des sujets similaires à "reshape base"