Convertir un tableau en 1 colonne avec une macro

Question assez simple, je n'ai jamais été très bon en VBA

J'aimerais convertir un très gros tableau de données (100x400) en une colonne (40000*1)

Restons sur du 2*2 pour faire simple :

Par exemple,

J'ai une matrice qui se présente comme ça

2 4

3 5

j'aimerai la convertir en une colonne de

2

3

4

5

Pour l'instant, avec cette macro, j'arrive à faire

2

4

3

5

c'est pas exactement ce que je veux.

 Sub tocol()
    Set a1 = Application.InputBox("veuillez sélectionner les cellules à copier", Type:=8)
    Set a2 = Application.InputBox("veuillez sélectionner la première cellule de la colonne qui doit recevoir la copie", Type:=8)
    For Each r In a1
    If a2.Offset(i, 0) = "" Then
    a2.Offset(i, 0) = r
    Else
     MsgBox "cellule cible non vide"
     Exit Sub
    End If
    i = i + 1
    Next
    End Sub

Merci à vous les rois de la programmation VBA

Luca

Bonjour,

je vous propose ma solution :

Sub test()
lastColonne = Range("IV1").End(xlToLeft).Column
For i = 2 To lastColonne
    tmp = Split(Columns(i).Address(ColumnAbsolute:=False), ":")(1)
    Range(tmp & 1).Select
 For j = 1 To Range(tmp & Rows.Count).End(xlUp).Row
    lastLigne = Range("A" & Rows.Count).End(xlUp).Row
    If Cells(j, i).Value <> "" Then
      Cells(lastLigne + 1, 1) = Cells(j, i)
    End If
 Next j
Next i
 Range("B:" & Split(Columns(lastColonne).Address(ColumnAbsolute:=False), ":")(1)).EntireColumn.Delete
End Sub

à tester et à adapter

Bonjour Minanse, merci beaucoup pour cette macro qui fonctionne bien

Sujet résolu !

Rechercher des sujets similaires à "convertir tableau colonne macro"