XL 2010 Copier/Coller selon la dernière ligne libre.

lelebl

XLDnaute Nouveau
Hola le forum.
Je viens en ami, (ci-joint exemple).
Pour mon travail je dois réaliser une Macro qui me permettrait de gagner beaucoup de temps.
Voici mon problème, je récupère deux fichiers qui ont les deux une taille variable et qui sont, le premier l'historique des ventes et le futur des ventes, qui contiennent 3 colonnes, la colonne client (A), la colonne Article (B) , et enfin la colonne prix (C).

J'aimerai, pour pouvoir traiter les données plus facilement, récupérer chaque colonne de la feuille futur, et venir la placer sous la première cellule vide de la feuille historique (client avec client, article avec article etc...)
Ci-joint un tableau exemple avec code couleur de mon envie.
Je ne vous propose pas de ligne de code de ma part car après de multiple essais infructueux, je ne sais plus comment avancer, j'ai essayer d'être le plus clair possible dans mon explication.

Le Lebl

Merci d'avanve
 

Pièces jointes

  • testexcelDownLebl.xlsx
    11.5 KB · Affichages: 6

vgendron

XLDnaute Barbatruc
Hello
voir code ci dessous
VB:
Sub ajouttab()
Dim tablo1() As Variant 'déclaration de deux tablos
Dim tablo2() As Variant

With Sheets("Feuil1")
    fin = .Range("A" & .Rows.Count).End(xlUp).Row 'fin de la feuille
    tablo1 = .Range("A2:C" & fin).Value 'on met tout dans le tablo1
End With

With Sheets("Feuil2")
    fin = .Range("A" & .Rows.Count).End(xlUp).Row
    tablo2 = .Range("A2:C" & fin).Value
End With

With Sheets("Feuil1+2")
    .UsedRange.Offset(1, 0).Clear 'on efface la feuille SAUF la ligne d'entete
    .Range("A2").Resize(UBound(tablo1, 1), UBound(tablo1, 2)) = tablo1 'on colle le tablo1
    
    'pour coller tablo2 soit:
    '.Range("A" & 2 + UBound(tablo1, 1)).Resize(UBound(tablo2, 1), UBound(tablo2, 2)) = tablo2 'on colle le tablo2 en dessous
    
    'soit:
    NewFin = .Range("A" & .Rows.Count).End(xlUp).Row + 1
    .Range("A" & NewFin).Resize(UBound(tablo2, 1), UBound(tablo2, 2)) = tablo2
End With

End Sub
 
Haut Bas