Bonjour à tous,
Une variante....à tester....
Option Explicit
Option Explicit
Option Base 1
Sub tb_1colonne()
Dim lig&, col%, index&, dc%
Dim Tb, TbR()
With Sheets("Feuil1") '........................................agit sur Feuil1
.Columns(1).ClearContents '..................................efface colonne A
dc = .UsedRange.Columns.Count '.............................définit nombre de colonnes
Tb = .Range("B3").CurrentRegion '...........................définit tableau de données Tb
ReDim TbR(UBound(Tb) * dc) '...............................dimensionne le tableau temporaire TbR
index = 1
For col = 1 To dc - 1 '...................................boucle de la 1ère à la dernière colonne du tableau Tb
For lig = 1 To UBound(Tb) '..............................boucle de la 1ère à la dernière ligne du tableau TB
If Tb(lig, col) <> "" Then '............................si la cellule est remplie
TbR(index) = Tb(lig, col) '...........................on stocke la valeur dans TbR
index = index + 1
End If
Next lig
Next col
'.Cells.ClearContents '........................................efface toutes les données de Feuil1
.Range("A3:A" & UBound(TbR)) = Application.Transpose(TbR) '...écrit les données de TbR à partir de A3
End With
End Sub
CTRL + e pour exécuter la macro
Cordialement,