Suppression automatique d'un bloc de ligne

lostheroe

XLDnaute Occasionnel
Bonjour,

Je souhaiterais faire une macro pour supprimer automatiquement le bloc "type" qui ce situe dans la colonne C.
Ce bloc pouvant ce situé à n'importe quelle ligne dans la colonne c. Il faudrait détecter la valeur "type" puis supprimer la bloc sur les 15 lignes suivantes.

Cordialement
 

Pièces jointes

  • Suppression bloc.xlsm
    26.3 KB · Affichages: 15
  • Suppression bloc.xlsm
    26.3 KB · Affichages: 15
  • Suppression bloc.xlsm
    26.3 KB · Affichages: 18

vgendron

XLDnaute Barbatruc
Re : Suppression automatique d'un bloc de ligne

Hello

et si tu utilisais les zones nommées?
tu nommes le bloc "Type"
et la macro pour supprimer ce bloc est toute simple. et ce. quelque soit la place du bloc.. dans toute la feuille

cf PJ en feuille 2
 

Pièces jointes

  • Suppression bloc.xlsm
    25.8 KB · Affichages: 28
  • Suppression bloc.xlsm
    25.8 KB · Affichages: 21
  • Suppression bloc.xlsm
    25.8 KB · Affichages: 29

vgendron

XLDnaute Barbatruc
Re : Suppression automatique d'un bloc de ligne

sinon, ta macro corrigée donnerait ceci

Code:
Sub Cherche()
    Dim i As Long
    Dim Plage As Range, modèle As Range
    
    With Worksheets("Feuil1").Range("C:D")
        Set modèle = .Find(what:="type", Lookat:=xlWhole)
        If Not modèle Is Nothing Then
            ligne = modèle.Row
            'on efface seulement les 15 lignes du bloc.. à supposer que c'est toujours la meme taille..
            Range("B" & ligne & ":D" & ligne + 15).Clear
'            'ou on supprime (avec décalage vers le haut les 15 lignes du bloc
'            Range("C" & ligne & ":D" & ligne + 15).Delete shift:=xlUp
            
        End If
    End With
End Sub

j'utilise Range("C:D") au lieu de Range ("C:C") car le mot "type" est dans une cellule fusionnée..
j'ai pas compris pourquoi tu faisais une boucle de 1 à 10, alors que je vois que le bloc est sur 15 lignes

de plus, j'efface (ou supprime au choix) sur les colonnes B à D car j'ai supposé que les valeurs en colonne B font partie du bloc..?
 

lostheroe

XLDnaute Occasionnel
Re : Suppression automatique d'un bloc de ligne

Merci vgendron,

Ta macro marche bien.

Je viens de me rendre compte qu'il pouvait y avoir plusieurs bloc avec des intitulés différents
Afin de faciliter la macro j'ais rajouter dans la colonne E le caractère ' à l'emplacement ou il faut supprimer les lignes.
Faudrais juste rechercher les lignes en colonne E contennant le caractère ' et supprimer ensuite toutes ces lignes.
 

Pièces jointes

  • suppression-bloc.xlsm
    21.3 KB · Affichages: 16

vgendron

XLDnaute Barbatruc
Re : Suppression automatique d'un bloc de ligne

Hello

Avec cette macro
Code:
Sub supprime()

fin = Range("E" & Range("E:E").Rows.Count).End(xlUp).Row

For i = fin To 1 Step -1
   If Range("E" & i) = "+" Then
        Rows(i).EntireRow.Delete
    End If
Next i

End Sub

par contre, il faudrait mettre un autre caractère que le coma ' --->un + par exemple
 

Discussions similaires

Réponses
22
Affichages
742

Statistiques des forums

Discussions
312 084
Messages
2 085 194
Membres
102 811
dernier inscrit
caroline29260