détecter fin enreg. pour copier liste

  • Initiateur de la discussion Initiateur de la discussion Olivierd
  • Date de début Date de début

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 !

O

Olivierd

Guest
bonjour lecteur du matin,

loin s'en faut de vouloir abuser de ta gentillesse, mais en raison de ma médiocrité chronique, pourrait-tu m'apporter quelque assistance pour réaliser une macro afin de:
1- détecter la fin des enregistrements ( ligne A NN ) de l'onglet A
pour
2- importer ( ou copier/coller ) toutes les données d'un autre onglet à la suite du dernier enregistrement de l'onglet A

j'ai joint un fichier d'exemple

Merci d'avance pour les conseils
A bientôt

Olivierd
 

Pièces jointes

Bonjour Olivier, le forum

voici un code fonctionnel qui copie la plage détectée sur la feuille B dans la première cellule libre de la colonne A de la feuille A et lui applique une couleur de police 15.

Cordialement, A+

Sub Copier_Plage()
Dim Plage As Range, Cellule_Dest As Range
Set Plage = ThisWorkbook.Sheets("B").Range("A1:F" & ThisWorkbook.Sheets("B").Range("A1").End(xlDown).Row)
Set Cellule_Dest = ThisWorkbook.Sheets("A").Range("A65536").End(xlUp).Offset(1, 0)
Plage.Copy Destination:=Cellule_Dest
Cellule_Dest.Range(Plage.Address).Font.ColorIndex = 15
End Sub
 
Bonjour Olivier, Yeahou

Ne sachant pas utiliser les Set vu mon niveau en VBA. Une autre possibilité

Public Sub OlivierD()
Dim vRowA, vRowB As Long

Application.ScreenUpdating = False ' pour la rapidité on désactive l'actualisation de l'écran

vRowA = Worksheets("A").Range("A65536").End(xlUp).Row
'vRowA contient le numéro de la dernière ligne utilisée dans la colonne A de la feuille A
vRowB = Worksheets("B").Range("A65536").End(xlUp).Row
'vRowB contient le numéro de la dernière ligne utilisée dans la colonne A de la feuille B

Bascule toutes les données de la ligne de la feuille B à la feuille A
Worksheets("A").Range(vRowA + 1 & ":" & vRowA + vRowB).Value = Worksheets("B").Range("1:" & vRowB).Value

Application.ScreenUpdating = True 'l'actualisation de l'écran est réactivée

End Sub

@+Jean-Marie
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.
Retour