Erreur au niveau de la méthode PasteSelection [Résolu/Fermé]

Signaler
Messages postés
14
Date d'inscription
lundi 25 juin 2018
Statut
Membre
Dernière intervention
29 août 2018
-
Messages postés
14
Date d'inscription
lundi 25 juin 2018
Statut
Membre
Dernière intervention
29 août 2018
-
Salut je veux copier une feuille à la fin d'une autre feuille. j'ai réallisé ce code mais il affiche une erreur au niveau de la méthode pasteSpecial.Merci

<code>Sub Copier()
Dim Sh As Worksheet, ws As Worksheet
Dim LastRow As Integer
Set ws = Sheets("MAI")
Set Sh = Sheets("April")
LastRow = Sh.Cells(Rows.Count, "A").End(xlUp).Row
ws.Cells.Copy
With Sh
Range("A" & LastRow).Select
Selection.PasteSpecial, Paste:=xlValues ' Operation:=xlNone, SkipBlanks:=False, Transpose:=False

End With
End Sub
</code>

2 réponses

Messages postés
15430
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
24 novembre 2020
1 405
Bonjour,

Evitez les select'

Sub Copier()
    Dim Sh As Worksheet, ws As Worksheet
    Dim LastRow As Long
    
    Set ws = Sheets("MAI")
    Set Sh = Sheets("April")
    ws.Cells.Copy Sh.Range("A" & .Cells(Rows.Count, "A").End(xlUp).Row)
End Sub
Messages postés
14
Date d'inscription
lundi 25 juin 2018
Statut
Membre
Dernière intervention
29 août 2018

Merci mais le code affiche une erreur.
Messages postés
193
Date d'inscription
mardi 16 février 2016
Statut
Membre
Dernière intervention
12 juillet 2018
75
Bonjour,

Pour copier une feuille entière vers une autre feuille, il est obligatoire que la destination de la copie soit la première cellule d'une feuille (en l'occurence A1).

Il faudrait donc, au lieu de copier la feuille entière, copier uniquement les valeurs qui t'intéressent (en cherchant où se trouve la dernière ligne/colonne occupée et de coller cette selection).

Voici ton code adapté, en assumant que le contenu à copier est un tableau commençant en A1.
Au passage, j'en ai profité pour corriger et simplifier ton code, sinon le contenu collé allait écraser la dernière ligne de l'autre feuille :)

Sub Copier()
Dim Sh As Worksheet, ws As Worksheet
Dim LastRow, lRow, lCol As Long
Set ws = Sheets("MAI")
Set Sh = Sheets("April")
LastRow = Sh.Cells(Rows.Count, "A").End(xlUp).Row

With ws
lRow = .Range("A" & .Rows.Count).End(xlUp).Row ' Dernière ligne du tableau
lCol = .Cells(1, .Columns.Count).End(xlToLeft).Column ' Dernière colonne du tableau
.Range("A1", .Cells(lRow, lCol)).Copy ' On copie le tableau
End With

Sh.Range("A" & LastRow + 1).PasteSpecial Paste:=xlPasteValues ' Operation:=xlNone, SkipBlanks:=False, Transpose:=False
End Sub


Cordialement,

FlawTECH

fhppbpibapeh-9fpoh
Ok, le clavier fonctionne, parfait.
Messages postés
15430
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
24 novembre 2020
1 405
Bonjour,
En effet, j'ai un peu oublie la chose
Messages postés
14
Date d'inscription
lundi 25 juin 2018
Statut
Membre
Dernière intervention
29 août 2018

Merci bien le code ça fonctionne très bien.c'est ce que je veux .