supprimer les lignes des cellules sélectionnées

sourcier08

XLDnaute Occasionnel
Bonjour, j'ai fait un fichier avec une plage allant de "A6" à "A8".
Chaque fois que j'insère une ligne, c'est en "A7".

J'aimerai pouvoir supprimer les lignes lorsque je veux remettre à zéro ce tableau.

J'ai donc écris une macro pouvant sélectionner toutes les cellules non-vide de cette plage et je n'arrive pas à trouver comment supprimer les lignes des cellules sélectionnées.

Code:
Sub SelectionNonVides()
  'sélectionner 1ere cellule non vide
  For Each c In Range("plage")
    If c <> "" Then
      c.Select
      Exit For
    End If
  Next

  ' extension sélection
  For Each c In Range("plage")
    If c <> "" Then
      Range(Selection.Address, c.Address).Select
    End If
  Next
  
End Sub

Sub supprimer()
      ActiveSheet.Rows(ActiveCell.Row).EntireRow.Delete
End Sub

Merci d'avance pour l'aide apportée.
 
Dernière édition:

bika

XLDnaute Nouveau
Re : supprimer les lignes des cellules sélectionnées

Bonjour

Essaie donc avec ça (remplace tout ton code):

Code:
Range("plage").SpecialCells(xlCellTypeBlanks).EntireRow.Delete

Je pense que ton problème vient du fait que tu actives les lignes concernées mais que supprime les lignes sélectionnées (sans certitudes, il faudrait un fichier pour faire des essais).
 

sourcier08

XLDnaute Occasionnel
Re : supprimer les lignes des cellules sélectionnées

Voici mon fichier en préparation :
Ta macro ne fonctionne pas. :confused:
 

Pièces jointes

  • comptes_credit_mutuel.xlsm
    77.2 KB · Affichages: 34
  • comptes_credit_mutuel.xlsm
    77.2 KB · Affichages: 33
  • comptes_credit_mutuel.xlsm
    77.2 KB · Affichages: 35

bika

XLDnaute Nouveau
Re : supprimer les lignes des cellules sélectionnées

Si ça fonctionne mais ton programme ne l'appelle pas (il faut que tu mettes "supprimer" à l'endroit ou tu veux que ton code lance la suppression).

Tu n'as qu'à faire onglet développeur, macros, "supprimer", exécuter et ça va supprimer les lignes 6 et 10 de ton exemple.
(d'ailleurs après test, cela entraîne une erreur quand il n'y a pas de lignes vides, ajoute donc "on error resume next" dans la ligne au dessus de celle que je t'ai donné)
 

sourcier08

XLDnaute Occasionnel
Re : supprimer les lignes des cellules sélectionnées

J'ai réussi en créant une boucle qui répète la recherche et la suppression de la ligne de la première cellule renseignée de ma plage.

Code:
Sub supprimer()

Application.ScreenUpdating = False

    For i = 1 To 200
    'sélectionner 1ere cellule non vide
        For Each c In Range("plage")
            If c <> "" Then
                c.Select
      
    'supprimer la ligne de la cellule active
                ActiveSheet.Rows(ActiveCell.Row).EntireRow.Delete
            Exit For
        End If
    Next

Next

Application.ScreenUpdating = True

End Sub

Un bouton pour supprimer les lignes et hop, feuille remise à neuf l'année prochaine.

Je te remercie quand-même pour ton aide.
@+
 

Pièces jointes

  • comptes_credit_mutuel.xlsm
    76.4 KB · Affichages: 34
  • comptes_credit_mutuel.xlsm
    76.4 KB · Affichages: 35
  • comptes_credit_mutuel.xlsm
    76.4 KB · Affichages: 42
Dernière édition:

bika

XLDnaute Nouveau
Re : supprimer les lignes des cellules sélectionnées

Mal réveillé, j'avais compris que tu voulais supprimer les lignes vides (et non les non vides :rolleyes:).

Inutile de rechercher les cellules vides, supprime le bloc:
Code:
Range("6:60000").Delete
 

Discussions similaires

Réponses
6
Affichages
120
Réponses
2
Affichages
140

Statistiques des forums

Discussions
312 075
Messages
2 085 077
Membres
102 771
dernier inscrit
TiavinaKewin