Macro copier coller sur une nouvelle ligne

Bonjour la communauté,

Voilà j'ai crée un bouton auquel j'ai enregistré la macro suivante:

Sub Copiercoller()
'
' Copiercoller Macro
'

'
    Range("A10:C19").Select
    ActiveWindow.ScrollColumn = 2
    ActiveWindow.ScrollColumn = 3
    ActiveWindow.ScrollColumn = 4
    Range("A10:C19,L10:L19,N10:N19").Select
    Range("N10").Activate
    Selection.Copy
    Sheets("Feuil1").Select
    Range("B3").Select
    ActiveSheet.Paste
End Sub

Ce que je souhaiterais rajouter:

-A chaque clique sur le bouton, le collage se fasse sur une nouvelle ligne de manière à ne pas perdre les précédentes données.

-Une fois collé, les données copiés s'effacent

J'espère être clair sur ma demande.

D'avance merci pour votre aide.

Bonsoir,

avec un petit fichier c'est mieux...

Et il y a du ménage à faire sur votre code...

Sub Copiercoller()

Range("A10:C19").Select

ActiveWindow.ScrollColumn = 2

ActiveWindow.ScrollColumn = 3

ActiveWindow.ScrollColumn = 4Inutile

Range("A10:C19,L10:L19,N10:N19").Select

Range("N10").Activateinutile

Selection.Copy

Sheets("Feuil1").Select ' tien mais on était sur quelle feuille ? C'est pourquoi un petit fichier....

Range("B3").Select

ActiveSheet.Paste

End Sub

@ bientôt

LouReeD

Voila mon fichier avec les explications.

https://www.cjoint.com/c/FJvbWXLi76X

Bonjour,

Poursuivons le ménage commencé par LouReed... Suppression de tout Select ou Activate, qualificateurs d'objets...

Sub Copiercoller()
    ActiveSheet.Range("A10:C19,L10:L19,N10:N19").Copy Sheets("Feuil1").Range("B3")
End Sub

Mais au vu du fichier, cela n'aboutira pas au résultat souhaité ! (Les zones copiées et collées ne coincident pas.) Il faut donc s'y prendre un peu différemment !!

Et il faudrait être plus précis sur les données à effacer...

Cordialement.

NB- Et assainir la feuille Contrôle (zone utilisée jusqu'à WVV, à réduire).

Bonjour MFerrand,

Il faudrait que mon tableau de l'onglet "analyse" soit identique à l'onglet "contrôle...." ?

Les données à effacées seraient celles copiées de l'onglet "contrôle de hauteur" une fois collées.

Quand tu écris assainir la feuille s'est délimiter les colonnes ?

Bonsoir,

proposition d'un code :

Sub Transfert_des_données()
    Dim No_Der_Ligne As Long
    Dim La_Ligne_Copiée As Integer
    With Sheets("Analyse")
        No_Der_Ligne = .Range("B" & Rows.Count).End(xlUp).Row
        For La_Ligne_Copiée = 10 To 19
            .Cells(No_Der_Ligne + (La_Ligne_Copiée - 9), 2).Value = Sheets("Controle de hauteur").Cells(10, 1).Value
            .Cells(No_Der_Ligne + (La_Ligne_Copiée - 9), 3).Value = Sheets("Controle de hauteur").Cells(La_Ligne_Copiée, 2).Value
            .Cells(No_Der_Ligne + (La_Ligne_Copiée - 9), 4).Value = Sheets("Controle de hauteur").Cells(La_Ligne_Copiée, 3).Value
            .Cells(No_Der_Ligne + (La_Ligne_Copiée - 9), 5).Value = Sheets("Controle de hauteur").Cells(10, 12).Value
            .Cells(No_Der_Ligne + (La_Ligne_Copiée - 9), 6).Value = Sheets("Controle de hauteur").Cells(10, 14).Value
            .Cells(No_Der_Ligne + (La_Ligne_Copiée - 9), 7).Value = Sheets("Controle de hauteur").Cells(10, 15).Value
        Next La_Ligne_Copiée
    End With
    Sheets("Controle de hauteur").Range("A10:C19").Value = ""
    Sheets("Controle de hauteur").Range("L10,N10:O10").Value = ""
End Sub

@ vous relire.

@ bientôt

LouReeD

Merci pour le code LouReeD.

Lorsque je copie le code dans un nouveau module j'obtiens l'erreur suivante:

"Erreur de compilation: erreur de syntaxe"

Et j'ai la première ligne en jaune.

Lorsque je copie le code dans un nouveau module j'obtiens l'erreur suivante:

En fait sous VBA il ne faut pas de nom de SUB identique, alors si vous faite une copie...

Est-ce que ce nouveau module est dans le même classeur ?

Il n'y a pas de raison qu'il ne fonctionne pas, puisque sur votre fichier joint modifié il fonctionne chez moi et sans erreur...

Et c'est une erreur de syntaxe qui cible la ligne du nom de la SUB... Je teste...

En fait non ce n'est pas ça , car ça retourne une erreur de nom ambiguë...

Peut être avez vous "oublié" un caractère lors du copier coller :

le S de Sub au début ou le b de End Sub...

@ bientôt

LouReeD

Je joint une copie d'écran.

Après avoir collé le code, le code entre "Sub Transfert_des_données() & End Sub" s'écrit en rouge

erreur

Re

ci-joint le fichier "nettoyé" afin qu'il puisse être mis sur le site....

Il fonctionne très bien....

Mais tout de même celui-ci fait 19 ko alors que le votre fait plus de 2 Mo !!!!

En fait j'ai supprimé les flèches et autre contrôles et j'ai également supprimé les liaisons externes...

Bref voici le fichier

@ bientôt

LouReeD

Merci ce coup ci ça fonctionne.

Merci de votre merci !

mais de mon coté ça a toujours marché !!!

Allez, @ bientôt

LouReeD

Rechercher des sujets similaires à "macro copier coller nouvelle ligne"