Les Allergies
Alimentaires
Posez votre question Signaler

Excel : Détection dernière ligne d'un tableau [Résolu]

alainjjb 479Messages postés 17 mai 2007Date d'inscription 23 avril 2012Dernière intervention - Dernière réponse le 30 mai 2012 à 13:54
Bonjour,
je viens de créer (vite dit car c'est un de vous qui me l'avez transmis) une macro d'insertion de ligne en fin de tableau Excel (2 méthodes qui réagissent de la même manière) :
1°) Sub insert1_ligne()
DerniereLigne = (Range("A1").SpecialCells(xlCellTypeLastCell).Row)
ligne = DerniereLigne - 1
Rows(ligne).Select
Selection.Insert Shift:=xlDown
2°) Sub insert2_ligne()
Dim ligne As Long
ligne = (Cells.SpecialCells(xlCellTypeLastCell).Row) - 1
Rows(ligne).Select
Selection.Insert Shift:=xlDown
Au début tout se passe à merveille. La ligne es insérée correctement. Mais lorsque je supprime des lignes du tableau, la dernière ligne est détectée comme si les lignes supprimées existaient tjs.
Quelqu'un peut-il me dire ce qui peut bien se passer ?
Merci d'avance
Alain
Lire la suite 

Excel : Détection dernière ligne d'un tableau »

15 réponses
Réponse
+11
moins plus
Bonsoir,

Le mieux est de partir d'en bas, afin d'atteindre la dernière cellule de la colonne :

Range("A65536").End(xlUp).Offset(1, 0).Select

C'est aussi simple que ça ! ;)

m@rina
Romain - 18 janv. 2012 à 13:52
Merci M@rina
yo - 8 mars 2012 à 16:54
merci
Couac - 29 mars 2012 à 08:39
je c'est ... lol vive la France
Ajouter un commentaire
Réponse
+7
moins plus
Bonsoir Alain,

Oui 65536 est le nombre maximum de lignes d'un classeur Excel 2002-2003, car pour la version 2007, c''est 1048576 lignes !

Donc on part de la dernière ligne : Range("A65536")

End(xlUp) permet de se déplacer à la fin de la zone de l'objet Range prédéfini, avec une direction déterminée par Up (vers le haut). C'est comme si tu appuyais sur les touches Ctrl+Flèche Haut. Tu atteins donc la dernière cellule utilisée dans la colonne A à coup sûr puisque tu es parti du plus bas possible.

Offset(1, 0) permet de décaler la cellule d'une ligne et de 0 colonne, afin de descendre sur la première ligne se trouvant en dessous de la dernière ligne utilisée.

Euh... c'est plus clair ?.. ;))

m@rina
alainjjb- 27 juin 2008 à 08:33
Bonjour m@rina,
merci beaucoup pour ces explications. Si avec ça je n'ai tjs pas compris je me remets au crayon et au papier.
Bonne journée à toi
Alain
débutant vba .. mais je me soigne ! - 21 févr. 2012 à 10:35
merci beaucoup pour ces éclaircissements !!
Ajouter un commentaire
Réponse
+2
moins plus
Si jamais tu lis ces lignes MERCI BEAUCOUP m@rina!!!!!!!!!!!!!!!
m@rina- 1 déc. 2009 à 23:23
Oui, j'ai bien lu !! ;))
De rien ! :D
Si cela a pu te dépanner, c'est le principal ! ;)

m@rina
Eric T - 31 août 2010 à 14:46
Merci pour l'explication très claire, que Dieu te bénisse ...
zatsdone - 30 mai 2012 à 13:54
franchement m@rina, je te remercie et j'aimerai savoir si tu as un blog ou autre où tu communiques ton savoir VBA ! quand je commence à peine, et j'aurai sans doute besoin de tes lumières !
Ajouter un commentaire
Ce document intitulé « Excel : Détection dernière ligne d'un tableau » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?