Menu

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

alainjjb 685 Messages postés jeudi 17 mai 2007Date d'inscription 2 avril 2018 Dernière intervention - 26 juin 2008 à 21:54 - Dernière réponse :  damien59148
- 14 févr. 2018 à 10:21
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
Afficher la suite 

21 réponses

m@rina 14231 Messages postés mardi 12 juin 2007Date d'inscriptionContributeurStatut 23 mai 2018 Dernière intervention - 26 juin 2008 à 22:26
+25
Utile
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
Cette réponse vous a-t-elle aidé ?  
je c'est ... lol vive la France
Jean Eude > Couac - 3 juil. 2015 à 13:43
Pourquoi tu colles???
Ca marche très bien merci!
Super Marina ! Merci
m@rina 14231 Messages postés mardi 12 juin 2007Date d'inscriptionContributeurStatut 23 mai 2018 Dernière intervention - 26 juin 2008 à 23:41
+11
Utile
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 685 Messages postés jeudi 17 mai 2007Date d'inscription 2 avril 2018 Dernière intervention - 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 !!
Merci infiniment pour la clarté et concision!
yannou1456 22 Messages postés mercredi 25 novembre 2009Date d'inscription 16 février 2010 Dernière intervention - 1 déc. 2009 à 18:29
+2
Utile
Si jamais tu lis ces lignes MERCI BEAUCOUP m@rina!!!!!!!!!!!!!!!
m@rina 14231 Messages postés mardi 12 juin 2007Date d'inscriptionContributeurStatut 23 mai 2018 Dernière intervention - 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
Merci pour l'explication très claire, que Dieu te bénisse ...
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 !
m@rina 14231 Messages postés mardi 12 juin 2007Date d'inscriptionContributeurStatut 23 mai 2018 Dernière intervention - 3 juil. 2015 à 15:20
Bonjour,

Il y a énormément de sites sur le VBA d'Excel. Perso, mon site ne traite "que" de Word et de PowerPoint (http://faqword.com), car ces logiciels ont beaucoup moins d'aficionados !!

Pour Excel, en particulier, tu trouveras plein de choses (entre autres) chez Excelabo (http://www.excelabo.net/) et surtout plein plein d'exemples VBA, avec des classeurs à télécharger.
Et si ça ne suffit pas, fais un tour sur la page des liens (http://www.excelabo.net/web/sites_francophones) où tu trouveras plein de sites à propos d'Excel et du VBA.

Et puis bien entendu, tu peux poser tes questions ici, où tu trouveras d'excellents excelliens prêts à t'aider.

m@rina