Sub Macro2()
Dim tb, tbR(), k&, i&, j& ' les variables
tb = Sheets("Budget").Range("A5").CurrentRegion 'selectionne une région de la feuille a partir de A(
k = 0 ' là je ne comprends pas pourquoi K=0 ??
For i = 2 To UBound(tb, 1) 'renvoi à la dimension de la séléction en utilisant le resultant de tb
If tb(i, 3) <> "" Then ' si tb est vide sur la 3eme colonne
ReDim Preserve tbR(1 To 40, 1 To k + 1) 'alors on redimensionne la selection
For j = 1 To 40
tbR(j, 1 + k) = tb(i, j)
Next j
k = 1 + k
End If
Next i
Sheets("Budget final").Range("A5").CurrentRegion.Offset(1, 0).ClearContents
On Error Resume Next
Sheets("Budget final").Range("A6").Resize(UBound(tbR, 2), 40) = Application.Transpose(tbR)
Sheets("Budget final").Range("A6").Resize(UBound(tbR, 2), 40).Borders.Weight = xlThin
End Sub
Au top!
J'ai bien récupéré toutes mes données. Le seul problème c'était que l'entête a été rapatrié sur la ligne du dessous en 6.
Du coup je me suis adaptée en descendant l'en tete d'une ligne ;-) Et hop tout fonctionne nikel. MERCI.
Puis je abuser et demander une petite explication de VBA? (une jour j'aimerai bien les rédiger moi même alors j'essai de comprendre)