Code VBA pour dupliquer 2 feuilles Excel en une seule feuille recap

Bonjour,

Je suis débutante en VBA et après avoir tenté plusieurs macro vu sur le forum, malheureusement je ne trouve pas de solution.

Je m'explique, mon fichier comprend 1 onglet base camion, 1 onglet engins de manutention et le 3ème ou je souhaiterai effectué mon récap des 2.

Le titre des colonnes est le même sur les 2 bases.

J'ai tenté cette macro. Elle copie bien ma première base VI mais pas la 2ème, message d'erreur

Je sollicite votre aide.

Merci : )

Sub RECAP()
Dim sh1, sh7, sh8, x1 As String, x2 As String, colonne As String
Set sh7 = Sheets("BASE VI AJ")
Set sh8 = Sheets("BASE CHARIOT AJ")
Set sh1 = Sheets("RECAP")

sh1.Cells.ClearContents

x1 = Split(sh7.Range("A3").CurrentRegion.Address(0, 0), ":")(1)
x2 = Split(sh8.Range("A3").CurrentRegion.Address(0, 0), ":")(1)
colonne = Range(x1).Column
rw2 = Range(x2).Row

sh1.Range("A2:" & x1).Value = sh7.Range("A3:" & x1).Value
n = sh1.Cells(Rows.Count, 1).End(xlUp).Row + 1
n1 = n + rw2 - 2
sh1.Range(Cells(n, 1).Address, Cells(n1, colonne).Address).Value = sh8.Range(Cells(2, 1).Address, Cells(rw2, colonne).Address).Value

End Sub

Bonjour,

Je n'y comprends rien. Je fais des essais depuis tout à l'heure et je ne parviens pas à copier votre seconde base, comme si elle contenait quelque chose de lourd...

Pourtant, elle est de plus petite dimension que la base VI.

En tout cas, voici quand même une proposition de code avec 3 tableaux structurés "Recap", "BaseVI" et "ChariotAJ", sans lignes vides :

Sub RECAP()

Dim t7, t8

t7 = Range("BaseVI")
t8 = Range("ChariotAJ") 'dépassement de capacité
With Range("Recap")
    .ClearContents
    .Cells(1, 1).Resize(UBound(t7, 1), UBound(t7, 2)) = t7
    .Cells(UBound(t7, 1) + 1, 1).Resize(UBound(t8, 1), UBound(t8, 2)) = t8
End With

End Sub

Cdlt,

Bonjour 3GB,

Merci pour ce retour rapide : )

Malheureusement, j'ai un message d'erreur "Erreur d'execution 1004"

image

Je dois oublier quelque chose ???

A vous lire merci

Bonjour à tous,

À partir du fichier soumis par lili1303 ...

Sub RECAP()
Dim sh1 As Worksheet, sh7 As Worksheet, sh8 As Worksheet, x1 As String, x2 As String, colonne As Integer

   Set sh7 = Sheets("BASE VI AJ")
   Set sh8 = Sheets("BASE CHARIOT AJ")
   Set sh1 = Sheets("RECAP")

   sh1.Range("A3:DG10000").ClearContents

   x1 = Split(sh7.Range("A3").CurrentRegion.Address(0, 0), ":")(1)
   x2 = Split(sh8.Range("A3").CurrentRegion.Address(0, 0), ":")(1)
   colonne = Range(x2).Column
   rw2 = Range(x2).Row

   sh1.Range("A3:" & x1).Value = sh7.Range("A3:" & x1).Value

   n = sh1.Cells(Rows.Count, 1).End(xlUp).Row + 1
   n1 = n + rw2 - 3

   sh1.Range(Cells(n, 1), Cells(n1, colonne)).Value2 = sh8.Range("A3:" & x2).Value2
End Sub

ric

Bonjour Ric,

Super ça marche.

Merci beaucoup et bonne journée : )

ric

Rechercher des sujets similaires à "code vba dupliquer feuilles seule feuille recap"