Macro supprimer ligne selon colonne

Bonsoir Forum,

J'ai fais une macro pour supprimer une ligne entière si un mot le contenais seulement, j'ai un soucis je voudrais préciser en plus si ce mot est contenu dans une certain colonne (on va dire D) alors on supprime la ligne entière. Le problème si la colonne D contient le mot MONTE ok seulement si j'ai un nom en colonne A qui est MONTESQUIEUX ou MONTELIMAR bah il va supprimer la ligne sans ce soucier si c'est colonne A ou D.

Après je pourrais mettre un espace après MONTE What:="MONTE" mais c'est pas ce que je cherche.

J'ai fais cette macro que j'ai mis dans un Sub()

Dim Cel As Range
Do
    Set Cel = Cells.Find(What:="MONTE", After:=ActiveCell, LookIn:=xlFormulas, LookAt:=xlPart, _
                    SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=True, SearchFormat:=False)
    If Cel Is Nothing Then
        Exit Do
    Else
        Rows(Cel.Row).Delete
    End If
Loop

Merci de vôtre aide

J'ai trouvé une alternative vu que j'ai aucun accent, tous les noms sont en majuscules sans accent donc je met ça pour la colonne concerné.

Columns("AK:AK").Select
    Selection.Replace What:="MONTE", Replacement:="MONTÉ", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False

et ensuite j’exécute ma macro du dessus qui supprimera toutes les lignes contenant le mot MONTÉ

Hello,

Il faudrait que tu remplaces LookAt:=xlPart par LookAt:=xlWhole

J'espère que cela t'aidera

Bonjour à tous

Essaie ça :

Sub ess()
    Dim Cel As Range
    Do
        Set Cel = Cells.Find(What:="MONTE", After:=ActiveCell, LookIn:=xlFormulas, LookAt:=xlPart, _
                        SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=True, SearchFormat:=False)
        If Cel Is Nothing Then
            Exit Do
        Else
            If Cel.Column = 4 Then
                Rows(Cel.Row).Delete
            End If
        End If
    Loop
End Sub

Bye !

Merci gmb apparemment ça tourne en boucle (le sablier) comme si excel avait planté

Re,

Juste par curiosité ...

As-tu essayé de remplacer LookAt:=xlPart par LookAt:=xlWhole ?

Oui ça supprime un paquet de ligne mais il en garde quelque une je sais pas pourquoi.


Je fais des test alors des fois il supprime bien et des fois il supprime trop

Re,

Pour supprimer des lignes, la boucle doit partir de la dernière ligne ...

Veux-tu poster un bout de fichier test ...?

Sur un mot qui contient MONTE ça supprime pas si tu met un mot seul MONTE ça supprime mais bon comment être sur qu'il fera le boulot correctement suffi qu'il y est le mot MONTE en colonne A , pour ça qu'avec la deuxième macro que j'ai mis, je suis quasi sur qu'il ira chercher le mot dans la bonne colonne, il mettra un accent aigu en majuscule et comme ça, je serais plus embêté, vu qu'en plus il y a des espaces entre chaque ça peu mettre le boxon.

Je viens de m'apercevoir de ça sur une base de donnée que je fais et maintenant j'ai 23000 lignes a regarder pour voir ce qu'il m'a supprimé avant que je m'en rende compte et aucune macro ne pourra m'aider la dessus.

Re,

Pour les très grandes bases de données, la solution est d'utiliser un filtre ... car la boucle sera trop lente ...

La ça ira je fais par paquet de 200 lignes max pour cette macro

Re,

Donc, est-ce-qu'il faut considérer ton problème comme résolu ...???

Juste pour savoir est ce que c'est possible de mettre plusieurs mot a rechercher pour le remplacer par un seul genre ça evidemment ça fonctionnera pas ce code, pour éviter de mettre a chaque fois le code complet pour un mot de plus.

Columns("AK:AK").Select
    Selection.Replace What:="MONTE","AGENT" etc etc etc, Replacement:="MONTÉ", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False

Bonjour,

Tu peux utiliser Array("MONTE","AGENT") ...

Bon Courage pour la suite ...

Bonjour à tous

Nouvel essai avec MONTE et AGENT

Bye !

18classeur1-v2.xlsm (24.82 Ko)

J'avais pas vu la dernière réponse la macro fonctionne nickel merci gmb

Rechercher des sujets similaires à "macro supprimer ligne colonne"