Supprimer plusieurs lignes avec condition depuis un bouton
Résolu/Fermé
niksi56
Messages postés
2
Date d'inscription
jeudi 7 février 2013
Statut
Membre
Dernière intervention
7 février 2013
-
7 févr. 2013 à 11:11
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 - 7 févr. 2013 à 12:20
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 - 7 févr. 2013 à 12:20
A voir également:
- Supprimer plusieurs lignes avec condition depuis un bouton
- Excel cellule couleur si condition texte - Guide
- Supprimer une page word - Guide
- Supprimer compte instagram - Guide
- Impossible de supprimer un fichier - Guide
- Supprimer pub youtube - Accueil - Streaming
4 réponses
chossette9
Messages postés
4239
Date d'inscription
lundi 20 avril 2009
Statut
Contributeur
Dernière intervention
12 septembre 2014
1 308
7 févr. 2013 à 11:18
7 févr. 2013 à 11:18
bonjour,
le principe de base dans la suppression de ligne par macro est de commencer par la dernière ligne, et remonter à la première, afin de ne pas laisser de lignes en route.
Voici une macro qui devrait fonctionner :
Cordialement.
le principe de base dans la suppression de ligne par macro est de commencer par la dernière ligne, et remonter à la première, afin de ne pas laisser de lignes en route.
Voici une macro qui devrait fonctionner :
Sub SupprLignes() dim derligne As Integer dim numligne As Integer derligne = Sheets("test300").Cells(Rows.Count, 14).End(xlUp).Row For numligne = derligne To 2 Step - 1 If IsEmpty(Cells(numligne, 14)) Then Rows(numligne).Select Selection.entireRow.Delete End If Next End sub
Cordialement.
exel2003
Messages postés
57
Date d'inscription
vendredi 1 février 2013
Statut
Membre
Dernière intervention
8 avril 2013
1
7 févr. 2013 à 11:24
7 févr. 2013 à 11:24
salut
je t'ai fait une macro basique à adapter ligne par ligne
attention si tu a fusionné des lignes il masquera les deux
Sub masque()
'Masque les lignes 1 si la case N1 est égal à zéro
If Range("N1") = "0" Then
Rows("1").Select
Selection.EntireRow.Hidden = True
End If
'Affiche les lignes 1 si la case N1 n'est pas égal à zéro
If Range("N1") > "0" Then
Rows("1").Select
Selection.EntireRow.Hidden = False
End If
voila en espérant que cela t'ira bonne journée a toi
je t'ai fait une macro basique à adapter ligne par ligne
attention si tu a fusionné des lignes il masquera les deux
Sub masque()
'Masque les lignes 1 si la case N1 est égal à zéro
If Range("N1") = "0" Then
Rows("1").Select
Selection.EntireRow.Hidden = True
End If
'Affiche les lignes 1 si la case N1 n'est pas égal à zéro
If Range("N1") > "0" Then
Rows("1").Select
Selection.EntireRow.Hidden = False
End If
voila en espérant que cela t'ira bonne journée a toi
niksi56
Messages postés
2
Date d'inscription
jeudi 7 février 2013
Statut
Membre
Dernière intervention
7 février 2013
7 févr. 2013 à 11:40
7 févr. 2013 à 11:40
Bonjour
Je viens de modifier un petit peux ma demande, j'ai trouver une solution pour remplacer les cellules vide pas un 0, et j'ai donc trouver une macro qui marche presque bien.
Dim rcel As Range
Range("N2").Select
Selection.CurrentRegion.Select
For Each rcel In Selection
If rcel.Text = 0 Then
rcel.EntireRow.Delete
End If
Next rcel
Le seul soucis c'est que si la ligne 3 est vide, elle est bien supprimée, et donc la ligne 4 devient 3, donc celle-ci ne passe pas dans ma macro et ne peux donc pas être supprimé.
Merci
Je viens de modifier un petit peux ma demande, j'ai trouver une solution pour remplacer les cellules vide pas un 0, et j'ai donc trouver une macro qui marche presque bien.
Dim rcel As Range
Range("N2").Select
Selection.CurrentRegion.Select
For Each rcel In Selection
If rcel.Text = 0 Then
rcel.EntireRow.Delete
End If
Next rcel
Le seul soucis c'est que si la ligne 3 est vide, elle est bien supprimée, et donc la ligne 4 devient 3, donc celle-ci ne passe pas dans ma macro et ne peux donc pas être supprimé.
Merci
chossette9
Messages postés
4239
Date d'inscription
lundi 20 avril 2009
Statut
Contributeur
Dernière intervention
12 septembre 2014
1 308
7 févr. 2013 à 11:41
7 févr. 2013 à 11:41
D'où ce que je disais plus haut : une suppression de ligne dans Excel se fait de bas en haut (et non de haut en bas) pour ne pas oublier de lignes lors de la suppression.
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 311
Modifié par michel_m le 7/02/2013 à 12:25
Modifié par michel_m le 7/02/2013 à 12:25
Bonjour,
Peut-^tre + simple
https://excel.developpez.com/faq/?page=Feuille#SupprimeCellLigneVide
Michel
Peut-^tre + simple
Sub Supprimer_si_vide() Dim Ligne As Long On Error Resume Next With ActiveSheet Ligne = .UsedRange.Rows.Count .Range("N1:N" & Ligne).SpecialCells(xlCellTypeBlanks).EntireRow.Delete End With End Sub
https://excel.developpez.com/faq/?page=Feuille#SupprimeCellLigneVide
Michel