dernière cellule d'une colonne

A

antoine

Guest
Bonjour,
Je suis débutant
Je lis de nombreux messages sur ce forum sans trouver de solution à mon petit problème.
Je souhaite selectionner et copier une cellule d'une colonne sans avoir à la nomer.
C'est à dire prendre la dernière donnée d'une colone la copier et puis la coller dans une autre feuille.

Je souhaite savoir s'il a un livre ou des explications plus simple sur les références LC facilement accessible

A+
 
@

@+Thierry

Guest
Salut Antoine,

Pour connaitre la dernière cellule pleine d'une colonne il suffit d'utiliser

Sub Test ()
Ligne = Sheets("Feuil1").Range("a1").End(xlDown).Row
MsgBox Ligne
End Sub

Cependant Excel avec XlDown à la facheuse habitude de mémoriser les dernières cellules "qui ont été pleines" même si elle sont vide au moment de l'execution de ce code...

Donc on préfera utiliser :
Sub
Ligne = Sheets("Feuil1").Range("a65536").End(xlUp).Row
MsgBox Ligne
End Sub

Car on part du bas pour trouver la "vraie" dernière cellule pleine...

Une exemple mis en application :
Sub report()
Dim Ligne As Long
Ligne = Sheets("Collection").Range("a65536").End(xlUp).Row + 1
Sheets("Collection").Range("A" & Ligne & ":D" & Ligne).Value = Sheets("Facture").Range("AA1:AD1").Value
End Sub
Cette macro récupère les données de la feuille "Facture" pour les intégrer à la dernière ligne vide de la feuille "Collection"...

Voila pour une première explication.

Pour les bouquins : 1 bon bouquin (parmis d'autres)
Programmation Excel 2000 pour les Nuls chez "Sybex" de John Walkenbach (En français)... Très bien pour débuter en VBA... (Doit maintenant exister pour Excel XP je suppose)

Voilà pour un bon livre.

Bon App and Welcome to the Forum !
@+Thierry
 
@

@+Thierry

Guest
Bonjour Antoine

C'est très bien ainsi.

Tu peux même afiner ton code en mettant directement :

Sheets("feuil1").Range("A65536").End(xlUp).Select

En effet, avec l'habitude de voir comment les macros s'enregistrent, on remarque qu'il y a des "Select" partout, ce qui a pour effet :

1) de ralentir l'exécution de la procédure
2) de faire un feu d'artifice sur l'écran de l'utilisateur

(Pour le point 2, on peut mettre en début de procédure "Application.updatecreen = false", mais c'est un peu comme mettre un éléphant pour boucher un trou de souris...)

Voilà pour l'info "plus" !

Bon après midi Antoine Et heureux de t'avoir mis sur la bonne voie pour avancer
@+Thierry
 

Discussions similaires

Réponses
5
Affichages
390

Statistiques des forums

Discussions
314 653
Messages
2 111 589
Membres
111 208
dernier inscrit
estalavista