Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Selection de plages de lignes discontinues pour suppression

  • Initiateur de la discussion Initiateur de la discussion jmast
  • 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 !

J

jmast

Guest
Bonjour,

J'ai besoin de votre aide. Je bloque sur un truc assez basique (je pense).

Je souhaiterais sélectionner une plage de lignes discontinues pour ensuite les supprimer toutes en même temps.
ex : Range(8:8,9:9,10:10,15:15,16:16...).

Je n'arrive pas à concaténer les lignes dans le range avec ma macro; résultat, j'ai toujours des lignes vides.

Code macro:
Code:
Sub test_supprimer_ligne()

For i = 3 To 26
    If Cells(i, 2) = "" Then
        Range(i & ":" & i).Select
        Selection.Delete Shift:=xlUp
    End If
Next i

End Sub

Comment dois-je faire pour avoir le résultat suivant :
Range(8:8,9:9,10:10,15:15,16:16...)

Merci d'avance.
 

Pièces jointes

Re : Selection de plages de lignes discontinues pour suppression

Bonjour,

petite question idiote, pourquoi ne pas les supprimer une à une, et ce commencant par la fin et remontant pour ne pas rater 2 cellules consécutives répondant au test :
Code:
For i = 26 To 3 Step -1

bon après midi
@+
 
Re : Selection de plages de lignes discontinues pour suppression

Bonjour le fil, bonjour le forum,

J'aurais fait comme Pierrot le préconise mais voici une proposition qui fait ce que tu demandes :
Code:
Sub test_supprimer_ligne()
Dim li As Range 'déclare la variable li (LIgnes à effacer)
 
For i = 3 To 26
    If Cells(i, 2) = "" Then
        If li Is Nothing Then 'si la plage li est vide
            Set li = Rows(i) 'li devient la ligne de i
        Else 'sinon
            Set li = Application.Union(li, Rows(i)) 'li devient l'union de li et de la ligne i
        End If 'fin de la condition
    End If
Next i
li.Delete
End Sub
 
Re : Selection de plages de lignes discontinues pour suppression

Re, bonsoir Robert🙂

Aarf, j'avais préparé ceci, bon je donne quand même...
Code:
Option Explicit
Sub test()
Dim i As Long, x As Range
For i = Range("B65536").End(xlUp).Row To 1 Step -1
    If Cells(i, 2) = "" Then If x Is Nothing Then Set x = Cells(i, 2) _
        Else Set x = Union(x, Cells(i, 2))
Next i
'pour supprimer les cellules
x.Delete xlUp
'pour supprimer les lignes
x.EntireRow.Delete xlUp
End Sub

bonne soirée
@+
 
- 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
917
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…