Copie avec derniere ligne

Aladin

XLDnaute Occasionnel
bonsoir le forum
J' ai par l' enregistreur de macro fait ceci Sub Import_1()
' Sheets("Import").Select
Range("A2:D86").Select
Selection.Copy
Sheets("Serveur").Select
Range("A31").Select
ActiveSheet.Paste

End Sub

Comment modifier ce code en lui disant de récuperer les infos en partant de A2 jusqu' a colonne D sans préciser la célulle mais jusqu' a ce qu' il trouve une ligne vide car le nbre de données peut varier.
Merci d' avance pour toute aide qui sera la bienvenue
Aladin
 

porcinet82

XLDnaute Barbatruc
Re : Copie avec derniere ligne

Salut,

Tiens avec ceci ca devrait fonctionner :
Code:
Sub Import_1()
Range("A2:D" & Range("D65536").End(xlUp).Row).Copy
Application.Goto Sheets("Serveur").Range("A31")
ActiveSheet.Paste
End Sub

@+

Edition : Ce Robert, toujours la quand on ne s'y attends pas !!!! Comment ca va aujourd'hui ?
 
Dernière édition:

Aladin

XLDnaute Occasionnel
Re : Copie avec derniere ligne

Bonsoir porcinet82, Robert et le forum
JJ' ai testé la macro de Porcinet et ai rajoute Sheets("Import").Select
et ai rajouté la selection pour copie d' une autre colonne. lest test sont ok. c' est exactement ce que je voulais
merci à vous deux pour la rapidité de votre intervention
Bonne continuation
Aladin
 

Aladin

XLDnaute Occasionnel
Re : Copie avec derniere ligne

Rebonhour Robert, Porcinet et le forum
Robert le ode quivant que tu m' a donné permet éffectivement de faire une copie de données
Sub Import_1()
Range("A2:D" & Range("D65536").End(xlUp).Row).Copy
Application.Goto Sheets("Serveur").Range("A31")
ActiveSheet.Paste
End Sub
Ma question est la suivante:
XlDown permet de partir à partir du haut vers le bas, comment retravailler cette macro pour y inserer xlDown. J' ai bien éssayé mais j' ai un méssage d' érreur
Aladin
 

Pierrot93

XLDnaute Barbatruc
Re : Copie avec derniere ligne

Bonjour à tous

essaye peut être comme ceci :

Code:
Range("A2:D" & Range("D2").End(xlDown).Row).Copy

mais si tu as une ligne vide dans ta colonne D, les lignes qui suivent ne seront pas prises.

bonne journée
@+
 

Aladin

XLDnaute Occasionnel
Re : Copie avec derniere ligne

Bonsoir Pierrrot et le forum
J' ai adapté le code comme ceci et l' ai testé sur une copie de colonne
Application.ScreenUpdating = False
Sheets("Serveur").Select
Range("F32:F" & Range("F32").End(xlDown).Row).Copy
Application.Goto Sheets("Recap").Range("F2")
ActiveSheet.Paste
Sheets("Serveur").Select
Range("G32:G" & Range("G32").End(xlDown).Row).Copy
Application.Goto Sheets("Recap").Range("C2")
ActiveSheet.Paste
Range("A2").Select
Sheets("Serveur").Select
Range("A31").Select
Application.ScreenUpdating = True
et il fonctionne. Mais il peut être meilleur
Merci pour ton post Pierrot
Aladin
 

porcinet82

XLDnaute Barbatruc
Re : Copie avec derniere ligne

Salut,

Je dirai sans avoir testé :
Code:
Sub test()
Application.ScreenUpdating = False
Sheets("Serveur").Select
With Sheets("Recap")
    Range("F32:F" & Range("F32").End(xlDown).Row).Copy Destination:=.Range("F2")
    Range("G32:G" & Range("G32").End(xlDown).Row).Copy Destination:=.Range("C2")
End With
Application.ScreenUpdating = True
End Sub

@+
 

Excel_lent

XLDnaute Impliqué
Re : Copie avec derniere ligne

Bonjour à tous

Ou encore,
en s'arrêtant à la première ligne vide

Code:
Application.Goto Range("Serveur!A31")
With Sheets("Recap")
    Range("F32:F" & Range("F32").End(xlDown).Row).Copy Destination:=.Range("F2")
    Range("G32:G" & Range("G32").End(xlDown).Row).Copy Destination:=.Range("C2")
End With
(pas besoin de neutraliser le rafraîchissement de l'écran)

en s'arrêtant à la dernière ligne vide
Code:
With Sheets("Serveur")
 .Range("F32:F" & Range("F32").End(xlDown).Row).Copy Destination:=Sheets("Recap").Range("F2")
 .Range("G32:G" & Range("G32").End(xlDown).Row).Copy Destination:=Sheets("Recap").Range("C2")
End With
Application.Goto Range("Serveur!A31")
 
Dernière édition:

porcinet82

XLDnaute Barbatruc
Re : Copie avec derniere ligne

re, Salut Excel_lent,

Effectivement, je n'ai pas pensé a enlever le Application.ScreenUpdating alors qu'il n'avait plus de raison d'etre.
Sinon, merci pour le Range("Serveur!A31") que je ne connaissais pas dans l'utilisation du Application.Goto

Au plaisir,

@+
 

Discussions similaires

Statistiques des forums

Discussions
312 488
Messages
2 088 840
Membres
103 972
dernier inscrit
steeter