Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Assembler deux tableaux de taille variable.

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 !

Franckxxx

XLDnaute Junior
Bonjour à tous!

Je suis entrain d'automatiser un processus sur excel et j'aimerais savoir si il était possible d'assembler deux tableaux dont le nombre de lignes peut varier.

Comme on peut le voir sur l’illustration en annexe je cherche à assembler le tableau 1 et 2 pour former un unique tableau (le tableau 2 viens à la suite du 1), cependant je ne sais pas trop comment pallier le problème du changement de la dernière ligne du tableau 1 dans le code de ma macro.

Je pensais utiliser la formule:
Rows.Count).End(xlUp).Row
mais je ne sais pas trop comment l'utiliser dans ce cas précis.

Merci à vous si quelqu’un connait une solution à mon problème! 🙂
 

Pièces jointes

Re : Assembler deux tableaux de taille variable.

Bonjour Franckxxx,

Par exemple :

Code:
Sub Copier()
Dim derlig1&, derlig2
On Error Resume Next 'si l'un des tableaux est vide
derlig1 = [A:B].Find("*", , xlValues, , xlByRows, xlPrevious).Row
derlig2 = [D:E].Find("*", , , , , xlPrevious).Row
Range("D1:E" & derlig2).Copy Cells(derlig1 + 1, 1)
End Sub
Edit : coucou Laetitia 🙂

A+
 
Dernière édition:
Re : Assembler deux tableaux de taille variable.

Bonjour laetitia90, Bonjour job75,

Tout d'abord merci beaucoup pour votre aide,
Désolé de répondre si tardivement,

Laetitia90, je ne comprend pas la signification des nombres dans cette partie: "Cells(Rows.Count, 4).End(3).Row" du coup je n'arrive pas à l'adapter à mon fichier réel.

Job75, dans mon fichier réel les colonnes ne sont pas exactement au même emplacement. A/B devient D:E et D:E devient H:I
Du coup j'ai modifié le code comme il suit:
Dim derlig1&, derlig2
On Error Resume Next 'si l'un des tableaux est vide
derlig1 = [D:E].Find("*", , xlValues, , xlByRows, xlPrevious).Row
derlig2 = [H:I].Find("*", , , , , xlPrevious).Row
Range("H1:I" & derlig2).Copy Cells(derlig1 + 1, 1)

Cependant il effectue la copie tou jours dans les colonnes A:B, je suppose que cela vient de (derlig1 + 1, 1) mais je ne voit pas comment le changer.
Est-il possible de changer Copy par Cut?

Mes meilleurs vœux pour 2015,
Merci encore à vous!! 🙂
 
- 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
17
Affichages
418
Réponses
6
Affichages
150
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…