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

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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

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
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
10
Affichages
700
Retour