copier coller VBA

manulemalin13000

XLDnaute Occasionnel
Bonjour,
J'ai un probleme tres simple..
J ai une feuille excel avec deux onglets et des listes qui peuvent varier

Je veux juste qu une macro repere ma derniere ligne (ou il y a de l ecriture) de la feuille 1 et aille la coller à la derniere ligne ou il y a de l ecriture en feuille 2

Je ne sais pas dire derniere ligne ou il est ecrit quelque chose en fait !!

merci pour votre aide
 
G

Guest

Guest
Re : copier coller VBA

Bonjour,

Si c'est bien dernière ligne qui contient quelque chose et si les données commencent en colonne A.
'
Code:
Dim DerniereLigne As Long
'Renvoi le numéro de la dernière ligne occupée en colonne A
DerniereLigne=Range("A" & Rows.count).End(xlUp).Row

Comme si tu de déplaçais en fin de feuille sur la colonne A et que tu fasses CTRL+flèche haute

A+
 
G

Guest

Guest
Re : copier coller VBA

Re,

Je répondais à
Je ne sais pas dire derniere ligne ou il est ecrit quelque chose en fait !!

Si le tableau dont la dernière ligne à copier commence en A1:

Code:
Sheets("Feuil1").Range("A1").CurrentRegion.Rows(Range("A1").CurrentRegion.Rows.Count).Copy Destination:=Sheets("Feuil2").Range("A" & Rows.Count).End(xlUp)

A+
 

bencourriel

XLDnaute Occasionnel
Re : copier coller VBA

Bonjour Hasco, manulemalin, le forum,

J'ai cherché à différents endroits sur le forum un bout de code VBA qui ressemble beaucoup à ce que manulemalin demande. J'ai une BD avec plusieurs lignes pleines de données et je souhaite atteindre la première ligne vide (i.e. où la cellule en colonne A ne contient rien). Actuellement, j'utilise le code suivant :

Do While ActiveCell.Text <> ""
ActiveCell.Offset(1, 0).Range("A1").Select
Loop

Ça fonctionne bien. Le seul embêtement, c'est qu'avec 60 000 lignes sur plusieurs feuilles, c'est pas très rapide. Avez-vous une solution pour accélérer la chose? J'ai essayé de reprendre le code proposé par Hasco mais je n'y arrive pas...

Merci à l'avance pour votre aide.
 

Cousinhub

XLDnaute Barbatruc
Re : copier coller VBA

Bonjour,

Avec le code fourni par Hasco, tu obtiens la première ligne vide de la ligne A

Pour déterminer la cellule, tu peux faire ainsi :

Code:
Sub Derniere_Cellule()
Dim DerCel As Range
Set DerCel = Sheets("Feuil1").Range("A65000").End(xlUp)(2)
DerCel.Select 'Facultatif, juste pour l'exemple
End Sub

A noter qu'il est rarement nécessaire de sélectionner les cellules pour y apporter des modifications...

Bonne journée
 

bencourriel

XLDnaute Occasionnel
Re : copier coller VBA

Bonjour bhbh, bonjour le forum,

Merci beaucoup bhbh pour ta réponse. Je comprends maintenant qu'il n'est pas nécessaire de faire SELECT puisqu'on pourrait écrire une ligne de code modifiant "DerCel" (dans l'exemple) directement, puisque cette variable a été préalablement identifiée.

Merci encore!
 

Discussions similaires

Statistiques des forums

Discussions
312 482
Messages
2 088 768
Membres
103 956
dernier inscrit
profil72