suppression dernière ligne non vide

  • Initiateur de la discussion Initiateur de la discussion Ophé
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

O

Ophé

Guest
Bonjour le forum,

beaucoup de discussions sont déjà ouvertes à ce sujet, mais étant débutantes malgré les tests, je ne trouve pas de réponses.

Je voudrais arrivée à la dernière ligne non vide de mon tableau et la supprimer.

Merci d'avance de votre aide.

Ophé
 
Re : suppression dernière ligne non vide

Bonjour Dull,

Ce code me supprime la premiere ligne de ma feuille,

Mon tableau commence toujours en A5 mais la dernière ligne n'est jamais la même, des sous totaux s'inscrivent automatiquement tout en bas, je voudrais les supprimer, d'où la suppression de la dernière ligne non vide. Comment puis-je y arriver? Merci de ton aide.

Dans le même esprit, une formule est inscrite dans la cellule S6, je l'étire, ma macro prend bien cette formule, mais ne va pas jusqu'en bas s'il y a plus de ligne dans le même tableau mais pour un mois différent, mon code donne cela :


Range("S6").Select
Selection.AutoFill Destination:=Range("S6:S1785")


Je suppose que c'est la partie en rouge qu'il faut modifier, mais je ne sais pas par quel code ; merci encore pour votre aide.

Ophé
 
Re : suppression dernière ligne non vide

Bonjour ROGER,

Je viens de tester votre code, il m'efface la 2nde ligne de la feuille, je pense que le problème viens du fait que le tableau débute en A5.

Merci encore.

Ophé
 
Re : suppression dernière ligne non vide

Bonjour le fil, le forum, Ophé,
Je te propose le code suivant:
Code:
Sub Efface()
Dim lastlig As Long
lastlig = 1
For i = 1 To 256
     If ActiveSheets.Cells(65536, i).End(xlUp).Row >= lastlig Then
            lastlig = ActiveSheets.Cells(65536, i).End(xlUp).Row
     End If
Next i

ActiveSheets.Rows("lastlig:lastlig").EntireRow.Delete

End Sub


End Sub

En résumé, on parcours toutes les collones du tableau, on cherche celle donc la derniere cellule a le numéro de ligne le plus important. Et on la supprime.
(Le code est fait de tête, il comporte certainement des bugs, mais c'est a peu près comme ça que j'aurai fait)
Cordialement,
Eloi.
 
Re : suppression dernière ligne non vide

Bjr Eloi,

Merci pour ce code, mais il y a en effet un bug, mais je suis débutante en VBA et je ne peux refaire ce code de façon à ce qu'il fonctionne.

J'ai plusieurs problèmes dans mes macros, Mon tableau commence toujours en A5 mais la dernière ligne n'est jamais la même, des sous totaux s'inscrivent automatiquement tout en bas, je voudrais les supprimer, d'où la suppression de la dernière ligne non vide. Comment puis-je y arriver?

Dans le même esprit, une formule est inscrite dans la cellule S6, je l'étire, ma macro prend bien cette formule, mais ne va pas jusqu'en bas s'il y a plus de ligne dans le même tableau mais pour un mois différent, mon code donne cela :


Range("S6").Select
Selection.AutoFill Destination:=Range("S6:S1785")


Je suppose que c'est la partie en rouge qu'il faut modifier, mais je ne sais pas par quel code ; merci encore pour votre aide.

J'espère que quelqu'un peut m'aider, merci d'avance, et merci encore Eloi.

Ophé
 
Re : suppression dernière ligne non vide

Re...
Je viens de tester votre code, il m'efface la 2nde ligne de la feuille, je pense que le problème viens du fait que le tableau débute en A5.
... d'où l'intérêt de poser entièrement les problèmes et de joindre un fichier...
Essayez
Code:
Sub Efface()
   ActiveSheet.Rows(ActiveSheet.Range("A[B][COLOR="Red"]5[/COLOR][/B]").CurrentRegion.Rows.Count).EntireRow.Delete
End Sub
ROGER2327
 
Re : suppression dernière ligne non vide

Je viens de l'essayer, autant pour moi il yavait en effet un bug.
Code:
Sub Efface()
Dim Lastlig As Long
Lastlig = 1
For i = 1 To 256
     If Sheets(1).Cells(65500, i).End(xlUp).Row > Lastlig Then
            Lastlig = Sheets(1).Cells(6500, i).End(xlUp).Row
     End If
Next i

Sheets(1).Rows(Lastlig & ":" & Lastlig).EntireRow.Delete Shift:=xlUp
End Sub
Et voilà un p'tit bout de code qui marche.
Attention cependant, ce code est fait pour la feuille placée en première sur ton classeur. Si jamais tu veux t'en servir sur une autre feuille, pense a modifier le "Sheets(1)" en "Sheets(Lapositiondetafeuille)" ou "Sheets("Le nom de ta feuille")"
Cordialement,
Eloi.
 
Re : suppression dernière ligne non vide

En effet, ROGER ta solution est plus simple. Nous avons tous les deux abordés le sujet sous un angle radicalement différent. Tu partais du haut et moi du bas. ^^!
 
Re : suppression dernière ligne non vide

Bonjour,

Votre code se rapproche de ce que je recherche en effet, mais le problème est apparament que la dernière ligne où les sous totaux sont inscris n'est pas reconnu car cela m'efface la ligne d'avant.

Il faudrait faire prendre la ligne suivante je vous envois un extrait du fichier pour que ce soit plus clair.

Dans le même temps, la dernière colonne contient une formule, lorque je l'étire par macro, la macro prend en compte la dernière ligne (ici 10) alors que le mois suivant j'aurais certainement plus ou moins de lignes. comment faire pour que la macro aille jusqu'en bas du tableau sans notifier une ligne??

Merci encore de votre aide et de votre patience

Ophé
 

Pièces jointes

Re : suppression dernière ligne non vide

Re,

Ca y'est, merci pour ton code Eloi celui-ci fonctionne !!!!
Merci beaucoup !!! C'est parfait !!

Mon autre problème reste toujours d'actualité, si vous avez encore un petit peu de temps à me consacrer?!
Je m'en sors sur les macros, mon problème reste d'effectuer une sélection jusqu'en bas du tableau lorsque j'étire une formule par exemple (comme je l'ai noté auparavent) ou lorsque je sélectionne un tableau dont le nombre de lignes change tout le temps.

Merci beaucoup en tout cas.

Ophé
 
Re : suppression dernière ligne non vide

Retiens bien cette formule:
Sheets("Ta_Feuille").Range("Lettre_d'une_colonne_du_tableau_65536").End(xlup).Row

Simplement elle te permet de retrouver la derniere ligne remplie d'un tableau, en partant de la 65536ème ligne ( la dernière).


Pour étirer une formule jusqu'à la fin, je pense que cela ne peut se faire qu'avec une macro, en utilisant pastespecial.formula
Par contre pour séléctionner un tableau en entier, il faut de mettre dans la cellule en haut a gauche et faire la manip' suivante: ctrl+maj+fleche droite et crtl+maj+fleche du bas
Bref, je répond a ce a quoi j'ai compris quelquechose...
 
Re : suppression dernière ligne non vide

Re,

Je te remercie pour ces conseils, je vais tester sur mes macros ce code.

Pour le tableau c'est la manip que je fesais mais lorsqu'il manque des cellules remplies dans la dernière colonne le tableau n'est pas tout pris.
Je te remercie quand même.

Encore merci pour ton aide.

Ophé
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
5
Affichages
371
Retour