Microsoft 365 Macro, copier coller sans écraser la ligne selectionnée

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 !

Nella66

XLDnaute Nouveau
Bonjour,

Je souhaite copier "dans l onglet "template" et coller dans l onglet "Master" les données sans écraser les lignes déjà inscrites
Je ne me rappelle plus comment on fait ça


Sub CopiePaste()
'
' CopiePaste Macro
'
' Touche de raccourci du clavier: Ctrl+k
'
Range("B4:H65").Select
Selection.Copy
Sheets("Master").Select
Range("A5").Select
ActiveSheet.Paste
End Sub



merci beaucoup
 

Pièces jointes

Dernière édition:
Solution
Bonsoir (re)

Essaies ceci
Code:
Sub CopiePaste_bis()
Range("B4:H65").Copy
Sheets("Master").Cells(Rows.Count, "A").End(xlUp)(2).PasteSpecial xlValues
Application.CutCopyMode = False
End Sub

NB: >J'ai pas eu ton feedback sur ma formule dans ton autre fil 😉
(Celui des mois en anglais)
Bonsoir (re)

Essaies ceci
Code:
Sub CopiePaste_bis()
Range("B4:H65").Copy
Sheets("Master").Cells(Rows.Count, "A").End(xlUp)(2).PasteSpecial xlValues
Application.CutCopyMode = False
End Sub

NB: >J'ai pas eu ton feedback sur ma formule dans ton autre fil 😉
(Celui des mois en anglais)
 
ça marche très bien 😀

du coup j'aimerais juste modifier au lieu de --> range("B4:H65")
j'aimerais qu'il compte toutes les lignes et qu'il s arrête pas juste à 65 sinon tant que s'est écris ,si j'ai bien compris il faut faire :

Sub CopiePaste_bis()
Sheets("Template").Cells(Rows.Count, "B").End(xlUp)(2).CopieSpecial xlValues
Sheets("Master").Cells(Rows.Count, "A").End(xlUp)(2).PasteSpecial xlValues
Application.CutCopyMode = False
End Sub

?
merci infiniment 🙂 !
 
Bonjour Nella66

J'avais utilisé ce code pour copier a la suite d'un tableau

DerniereLigneUtilisee = Range("B" & Rows.Count).End(xlUp).Row +1
et
val1 = Sheets("Feuil1").Range("A11")
Sheets("HISTORIQUE TELS").Range("A" & DerniereLigneUtilisee) = val1
val1 = ""


Je pense ici que ça pourrait fonctionner comme ceci :
en déclarant DerniereLigneUtilisee comme ceci : DerniereLigneUtilisee = Range("B" & Rows.Count).End(xlUp).Row


Sub CopiePaste_bis()
Dim DerniereLigneUtilisee as Integer
DerniereLigneUtilisee = Range("B" & Rows.Count).End(xlUp).Row
Range("B4:H & DerniereLigneUtilisee").Copy '(où B4 est la 1ere cellule de ton tableau)
Sheets("Master").Cells(Rows.Count, "A").End(xlUp)(2).PasteSpecial xlValues
Application.CutCopyMode = False
End Sub



PS je débute en VBA ça doit peut être se voir...
 
Bonjour le fil

Une autre syntaxe possible
VB:
Sub CopiePaste_Ter()
Dim Source As Range
With Sheets("Template")
Set Source = Range(.[B4], .Cells(Rows.Count, "H").End(xlUp))
End With
Source.Copy
Sheets("Master").Cells(Rows.Count, "A").End(xlUp)(2).PasteSpecial xlValues
Application.CutCopyMode = False
End Sub
 
- 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
1
Affichages
495
Retour