Macro copier coller à la suite d'un tableau

Bonjour,

J'ai deux tableaux excel dont un qui est mis à jour chaque jour et l'autre dans lequel je saisi les nouvelles données arrivées.

Je veux créer une macro qui me permet de copier coller les lignes que je sélectionne à la suite directe de mon tableau en feuille 2.

Le problème est que avec le code suivant, à chaque fois que je veut copier une nouvelle ligne, elle écrase la ligne que j'ai copier juste avant pour se copier à sa place, elle ne va pas se coller à la suite. La macro est la suivante :

Sub copie()

Range(Selection, Selection.End(xlToRight)).Select
Selection.Copy
Sheets("Feuil1").Select
ActiveWindow.ScrollRow = 392
ActiveWindow.SmallScroll Down:=6
Range("A400").Select
ActiveSheet.Paste
End Sub

A la suite de cette macro j'ai trouver une autre manière de faire, mais la le problème est qu'à chaque fois que je veux copier une nouvelle ligne, elle saute une ligne avant de se coller dans mon autre tableau. Cette macro se présente comme suit :

Sub TST()

Dim Lig As Integer

Range(Selection, Selection.End(xlToRight)).Select
Selection.Copy
Sheets("Feuil1").Select
Lig = Selection.Row + 1

Range("A" & Lig).Select
ActiveSheet.Paste
Application.CutCopyMode = False
End Sub

Je serai ravie que quelqu'un puisse m'aider. Je vous remercie par avance.

Bonjour, Lig = Selection.Row + 1 sans le +1

Bonjour, j'ai essayé mais quand j'enlève le + 1 ca m'écrase de nouveau les lignes que j'ai coller avant. Ca copie à la place de la ligne que j'ai copier avant

Re avec un fichier exemple pour comprendre le décalage ce serait plus facile.

Sub TST()
Dim Lig As Integer
ActiveSheet.UsedRange.Select
Selection.Copy
Sheets("Feuil1").Select
Lig = Selection.Row
Range("A" & Lig).Select
ActiveSheet.Paste
Application.CutCopyMode = False
End Sub

Non le code ne fonctionne pas il recopie carrément la totalité de mon deuxième tableau

Salut,

Lig = Selection.End(xlUp).Row + 1

Edit: oubli ce que j'ai dit ça fonctionnera pas lol

As-tu un fichier exemple ?

Re, Voici le document en question. Je veux transférer des lignes de la feuille "Commandes" à la feuille 1.

67copie.xlsx (65.52 Ko)

Salut,

            Dim lg As Long
            Selection.Copy
            With Sheets("Feuil1")
            lg = .Range("A1000000").End(xlUp).Row + 1
            .Range("A" & lg).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
            End With

Tu sélectionne et appuies sur le Bouton1

65emel61.xlsm (75.31 Ko)

Bonjour JBeaudoin,

Votre méthode fonctionne partiellement : Lorsque je copie la ligne entière, la police change d'un tableau à un autre, la date est parfois remplacée par le nombre "44305" et les cellules ne s'adaptent pas à la taille des écritures...

Salut,

Dim lg As Long
            Selection.Copy
            With Sheets("Feuil1")
            lg = .Range("A1000000").End(xlUp).Row + 1
            .Range("A" & lg).Paste
            End With

Assure toi que la "source" est bien formaté.

Mais si tu as des MFC tu es mieux de retourner avec le Pastespecial (ça mettera pas le bordel dans tes MFC)

Comment s'assurer que la source est bien formatée ? Avec ce code un message d'erreur s'affiche...

Quel message d'erreur?

Pour le formatage de la source ; tu sélectionne tout les cellule puis tu formates comme tu le désires..

image

Ce message la...

Rechercher des sujets similaires à "macro copier coller suite tableau"