conseil copier/coller de sheets(1) vers sheets(2)

  • Initiateur de la discussion Initiateur de la discussion Evelynetfrancois
  • 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 !

E

Evelynetfrancois

Guest
Bonjour à toutesettous
J'ai besoin d'un conseil pour copier/coller de sheets(1)vers sheets(2)
1) j'ai une base de données sur 4 colonnes (a;b;c;d)
apres avoir fait un tri par date je copie cette liste triée de son emplacement vers sheets(2)
sub copier()
Columns("A😀").Select
Selection.Copy
Sheets(2).Select
Range("A1").Select
ActiveSheet.Paste
9a fonctionne bien sur mais suis-je obligé de copier les 4 colonnes(a;b;c;d) sur 65536 lignes ?
La base de données à copier une fois trié, a des enregistrements variables (15 lignes ou 60 lignes ou plus (variable)).
Peut-être est -il judicieux de ne copier que les lignes remplies ?
pour alléger la procédure !!
si oui quelle macro me le permettrai (si c'est utile !!)
merci de me donner votre sentiment
bonne journée a tous
Evelmynetfrancois
 
Salut Evelyne !

Vite fait en passant :

Je t'ai fait un petit exemple avec l'enregistreur de macro, légèrement modifié ensuite.

En admettant que ton tableau parte de A2 à E18

Sub Trier()

Range("A2").Select
Selection.AutoFilter Field:=1, Criteria1:="kk"

Range("A2").Select
ActiveCell.Offset(1, 0).Select
Range(Selection, Selection.End(xlDown)).Select
Range(Selection, Selection.End(xlToRight)).Select

Selection.Copy
Sheets("Feuil2").Select
Range("A3").Select
ActiveSheet.Paste

End Sub

Et voilà, tout simplement !

@ +

Moa
 

Pièces jointes

bonjour Moa Bonjour Chris
voila avec vos deux reponses je ne suis donc pas plus avancé lolol..
il vaut mieux trier ou tout copier , là est la question lol...
2 conseils qui s'opposent !!
MERCI je vais essayer de faire des calculs de rapidité d'executions avec les deux possibilités
bonne soirée
Evelynetfrancois
 
Bonjour,


Ci dessous proposition de macro VBA pour copier le tbleau de feuille 1 en feuille 2

Sub evelyne()

Dim transfert As Range
Dim lig As Long

'fige l'écran (va + vite et - stressant....)
Application.ScreenUpdating = False

Sheets("feuil1").Activate
' trie le tableau (la ligne 1 contient les noms de champs et on suppose _
que les dates sont dans la colonne A
Range("A2😀65536").Sort Key1:=Range("A2")

'numero dernière ligne occupée
lig = Range("A1").End(xlDown).Row

'plage à transfèrer feuil 2
Set transfert = Range(Cells(2, 1), Cells([lig], 4))

Sheets("feuil2").Activate
' le tableau feuille 2 commence en B4 par exemple
Range(Cells(4, 2), Cells([lig] + 2, 5)) = transfert.Value

End Sub


Si tu veux aller vite, les range.copy et paste sont à proscrire… Consultes à ce sujet le site de Laurent Longre sur les conseils de rapidité (Laurent Longre est un des « papes » d’excel).

Bonne soirée
Michel. Béziers
 
- 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.

Discussions similaires

Réponses
7
Affichages
880
Retour