Transposer des données d'une seule colonne à plusieurs colonnes

J'ai une feuille de calcul Excel qui représente des dizaines de milliers d'entrées, mais elle n'est pas organisée. Toutes les données se trouvent dans une seule colonne avec chaque entrée prenant 3 lignes suivies d'un espace.

Par exemple:

Entry 1 Name Entry 1 Address Entry 1 Phone Entry 2 Name Entry 2 Address Entry 2 Phone 

Cela se poursuit pour environ un demi-million d'entrées. Je dois l'organiser mieux et j'aimerais le transposer comme ça

 Entry 1 Name Entry 1 Address Entry 1 Phone Entry 2 Name Entry 2 Address Entry 2 Phone 

J'ai essayé de comprendre comment écrire une formule que je peux remplir automatiquement Excel, mais je ne peux pas comprendre. J'utilise MS Office sur OSX. Mais toute solution soit Excel ou non Excel serait génial. Merci!

Cela semble être un travail pour VBA – Je crois que ce code devrait fonctionner dans la version OSX d'Excel, mais je l'ai seulement testé dans Windows.

Pouvez-vous exécuter ceci?

Créez manuellement une feuille de travail appelée Sheet2 et faites que votre fiche de données s'appelle Sheet1 (ou renommez dans le code ci-dessous). Et il commence sur la colonne B sur la nouvelle feuille, supprimez-le manuellement si vous ne le souhaitez pas.

Faites-moi savoir si cela fonctionne.

 Sub Macro1() Application.ScreenUpdating = False ' Turn off Screen updating Dim LastRow As Long ' Find the last row of input sheet LastRow = Sheets("Sheet1").Range("A1").SpecialCells(xlCellTypeLastCell).Row Dim row_working_on As Integer For row_working_on = 1 To LastRow Worksheets("Sheet2").Cells(Int(row_working_on / 4) + 1, row_working_on Mod 4 + 1) = Sheets("Sheet1").Cells(row_working_on, 1).Value Next row_working_on Application.ScreenUpdating = True ' turn on Screen updating End Sub