FIND pour effacer bloc

Wyrgle

XLDnaute Junior
Coucou le forum,

Je cherche à effacer des blocs de cellules...

Voila le problème : des blocs de cellules commencent par un mot-clef en colonne C et se terminent avec le mot-clef suivant. Entre les 2, les cellules en C sont vides.

Dans le fichier joint, j'ai pris les mots GAUCHE, DROITE et DROITE/GAUCHE. (Pout faire simple j'ai colorier les blocs de cellules)
Comment faire pour effacer les blocs de cellules qui ne correspondent pas au mot clef choisi GAUCHE ?

Merci pour votre aide !
Wyrgle
 

Pièces jointes

  • TROUVER BLOCS.xlsm
    14.3 KB · Affichages: 45

DoubleZero

XLDnaute Barbatruc
Bonjour à toutes et à tous,

Comme ceci ?
VB:
Option Explicit
Sub Supprimer_selon()
    Dim c As Range, cc As Range, i As Long
    With Application: .ScreenUpdating = False: .Calculation = xlManual: End With
    Set cc = Range("d5:d" & Cells(Rows.Count, 4).End(xlUp).Row)
    For Each c In cc
        If c.Offset(, -1) = "" Then c.Offset(, -1).FormulaR1C1 = "=R[-1]C"
    Next
    For i = Cells(Rows.Count, "c").End(xlUp).Row To 5 Step -1
        If Range("c" & i) = "GAUCHE" Then Rows(i).Delete
    Next i
    Columns(3).SpecialCells(xlCellTypeFormulas, 23).ClearContents
    With Application: .Calculation = xlAutomatic: .ScreenUpdating = True: End With
End Sub
A bientôt :)
 

Wyrgle

XLDnaute Junior
OO et JCGL, merci !!!
Vous êtes vraiment hyper-rapides.
La macro fonctionne, mais j'apporte une petite précision : en fait je veux conserver les blocs pour lesquels la cellule contient le mot-clef GAUCHE, ainsi DROITE/GAUCHE est valable...
Une question : pourquoi mettre xlCellTypeFormulas, 23 ? Seulement les constantes ?
 
Dernière édition:

Wyrgle

XLDnaute Junior
Je reviens vers vous avec une dernière demande concernant le code ci-dessous (merci OO/JCGL !) :
Dans le fichier ci-joint une 1ère colonne contient d'autres mots-clefs que j'apelle ABC et DEF.

Question : pour un bloc de données ABC, lancer le code ci-dessous, puis le répéter pour le mot clef suivant DEF, sachant qu'il y en a d'autres.

Comment faire ? Détecter les cellules non-vides en colonne A et lancer la macro ci-dessous, et répéter ??


Bonjour à toutes et à tous,

Comme ceci ?
VB:
Option Explicit
Sub Supprimer_selon()
    Dim c As Range, cc As Range, i As Long
    With Application: .ScreenUpdating = False: .Calculation = xlManual: End With
    Set cc = Range("d5:d" & Cells(Rows.Count, 4).End(xlUp).Row)
    For Each c In cc
        If c.Offset(, -1) = "" Then c.Offset(, -1).FormulaR1C1 = "=R[-1]C"
    Next
    For i = Cells(Rows.Count, "c").End(xlUp).Row To 5 Step -1
        If Range("c" & i) <> "GAUCHE" Then Rows(i).Delete
    Next i
    Columns(3).SpecialCells(xlCellTypeFormulas, 23).ClearContents
    With Application: .Calculation = xlAutomatic: .ScreenUpdating = True: End With
End Sub
A bientôt :)

Bisous et merci !!!!!
 

Pièces jointes

  • TROUVER BLOCS.xlsm
    16.9 KB · Affichages: 33

DoubleZero

XLDnaute Barbatruc
Bonjour, Wyrgle, JCGL :D + bises, le Forum,

Une question : pourquoi mettre xlCellTypeFormulas, 23 ? Seulement les constantes ?

Afin de sélectionner uniquement les cellules contenant des formules.

...Question : pour un bloc de données ABC, lancer le code ci-dessous, puis le répéter pour le mot clef suivant DEF, sachant qu'il y en a d'autres.... Comment faire ?..

Je ne c:(mprends pas la demande.

A bientôt :)
 

Discussions similaires

Réponses
11
Affichages
1 K

Statistiques des forums

Discussions
312 249
Messages
2 086 598
Membres
103 253
dernier inscrit
alscanv974