Selectioner derniere ligne non vide d'un tableau

Bonjour,

Je sais tres bien que ce sujet existe plusieurs fois mais malheureusement je n'ai quand meme pas trouve ma reponse ....

Voila le code que je voudrais :

Une macro qui selectione la derniere ligne du tableau pour ensuite pouvoir rajouter un ligne avec cette fonction :

Rows("La derniere ligne ").Select

Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove

Si vous pourriez m'aider ca serait super de votre part !

Merci d'avance !

PS : desole clavier anglais pour les accent

Bonjour,

Pour faire ça sur la colonne A :

Range("A" & Rows.Count).End(xlUp).Select

Re,

Ca ne fonctionne pas avec ma fonction ensuite :/

Mais j'ai trouve une solution :

Sub ligneajout()

Dim derligne As Integer

derligne = Range("A" & Rows.Count).End(xlUp).Row

Cells(derligne, "A").Select

Selection.Insert

End Sub

Bonjour Flavien, le forum,

je crois que tu voulais juste ajouter une ligne sous la dernière ligne non vide d'un tableau ; si oui, c'est inutile d'insérer une ligne !

tu fais au départ cette initialisation : ligne = Range("A" & Rows.Count).End(xlUp).Row + 1

puis dans ta boucle d'écriture des lignes, tu utilises la valeur de ligne pour écrire tes données :

Cells(ligne, 1) = "M.": Cells(ligne, 2) = "Jean": Cells(ligne, 3) = "Dupond"

bien sûr, pour chaque nouvelle ligne à écrire en dessous : ligne = ligne + 1


tu pourrais mettre ligne = Range("A" & Rows.Count).End(xlUp).Row + 1 dans la boucle ;

dans ce cas, ligne = ligne + 1 doit être enlevé

mais la 1ère solution est plus rapide car elle évite de recalculer la dernière ligne à chaque fois

(je veux dire : à chaque tour de boucle).

dhany

Re,

Merci beaucoup pour ton code !

Mais je voulais en effet inserer une ligne au dessus de la ligne de total donc avant la derniere

Mais ton code me servira peut etre pour la suite

Qu'est ce qui ne marchait pas du coup? ça t'y insérait au mauvais endroit?

Re,

Ta formule marche bien pour selectioner la derniere ligne donc ca marchais egalement ne tqt pas

@Flavien

comme c'est pour insérer une ligne juste avant la dernière, je te propose ce code VBA :

Option Explicit

Sub ligneajout()
  Dim derligne As Long
  derligne = Range("A" & Rows.Count).End(xlUp).Row
  Rows(derligne).Insert
End Sub

⚠ dans ton code VBA, pour ta variable ligne, tu as utilisé le type Integer ➯ ton code va planter si n° ligne > à 32 767 ; avec ton Excel 2016, n° ligne maxi : 1 048 576 ; pour peu qu't'aies une donnée qui traîne en colonne A, à partir de la ligne 32 768 :


mon code VBA en plus court (sans utilisation de variable) :

Sub ligneajout()
  Rows(Cells(Rows.Count, 1).End(xlUp).Row).Insert
End Sub

dhany

Re,

Ah d'accord merci de l'info pour le coup j'en apprend encore beaucoup grace a vous merci beaucoup !!!

(j'ai commence le VBA il y a deux semaine donc plus j'en apprend mieux c'est ahah )

Rechercher des sujets similaires à "selectioner derniere ligne vide tableau"