|
Publicité | ||||||||||||||||||||||
|
|
#1 (permalink) |
|
Futur Membre du Club
![]() Date d'inscription: février 2010
Messages: 36
|
Bonjour,
Je débute en progammation VBA et j'essai de programmer une interface qui me permettrais de saisir des informations dans 5 pages excel différentes, ligne par ligne. Pour saisir pas de probleme, mais je voudrais créer un bouton me permettant d'effacer la derniere ligne de chacune de mes pages. J'ai déjà programmé ceci mais je ne vois pas comment faire la suite : Code :
Private Sub CommandButton6_Click() Dim DernierLigne As Long Range("A1").Select DernierLigne = Selection.End(xlDown).Row Call Range("A" & DernierLigne).EntireRow.Delete(xlUp) End Sub Dernière modification par Domi2 ; 03/02/2010 à 12h54. Motif: ajout des balises de code (sélection du code + # au dessus de la fenêtre de rédaction du message) |
|
|
|
|
|
#2 (permalink) |
|
Membre Expert
![]() Nom : Frédéric Vandermeulen
Date d'inscription: juillet 2007
Localisation: Bruxelles
Âge: 34
Messages: 1 414
|
Salut Goby45 et Bienvenue,
Tu n'es pas loin d'une solution, toutefois, évite les select qui ralentissent le code et qui sont la plupart du temps inutiles. Ensuite, pour trouver la dernière ligne il vaut mieux commencer par le bas, au cas ou il y aurait une ligne vide dans ton tableau, même si ça ne devrait pas arriver chez toi. Il te manque aussi la boucle qui va balayer toutes tes feuilles. Et pour finir, une précision à apporter, tu veux supprimer la ligne ou l'effacer? Code :
Sub SuppDerLigne() Dim Ws As Worksheet Dim derLig As Long For Each Ws In ThisWorkbook.Worksheets 'Boucle sur toutes les feuilles derLig = Ws.Cells(Columns(1).Cells.Count, 1).End(xlUp).Row 'Détermine la dernière cellule remplie de la colonne A Ws.Rows(derLig).Clear 'Efface les données de la dernière ligne, pour supprimer, remplace .clean par .delete 'On peut aussi le faire en une ligne: Ws.Rows(Ws.Cells(Columns(1).Cells.Count, 1).End(xlUp).Row).Clear Next Ws End Sub
__________________
N'oubliez pas le si votre problème est solutionné.
|
|
|
|
|
|
#3 (permalink) |
|
Nouveau membre du Club
![]() Date d'inscription: avril 2008
Messages: 56
|
Dans ta procédure Command_Click
Code :
Dim tabl() As Variant, elt as Variant tabl = Array("Feuil1", "Feuil2") For Each elt In tabl Worksheets(elt).Cells(1).CurrentRegion.Rows( _ Worksheets(elt).Cells(1).CurrentRegion.Rows.Count).Delete (xlUp) Next elt |
|
|
|
|
|
![]() |
||
Supprimer la derniere ligne sur plusieurs feuilles
|
||
| Outils de la discussion | |
|
|