Supprimer des lignes en fonction d'un mot d'une phrase incrite dans un cellule

PFRANCO

XLDnaute Junior
Bonjour à tous,

STAMPLE 1600 ET pierrejean m'ont directement ou indirectement guidé pour un code permettant de supprimer des lignes en fonction d'un critère (mot ou signe).

J'ai un liste de produits,prix,quantité, qui le fruit d'un exportation d'un logiciel spécifique. Pas moyen de le récupérer en Excel mais en "texte".

Il comporte des signes et mots répartis de manière hanarchique. Je dois remettre en forme cette liste.

Aprés avoir converti et filtrer 'jai un fichier "à peu prés" Cependant je bute maintenant devant 2 difficultés. Les voici.

1) Est il possible de supprimer un ligne avec un critère,ex: "rivière",
si ce mot ou ce signe est dans une phrase ?
si cette phrase est dans une cellule?

2) Peut on créer une liste avec tous les critères , ex: (rivière,chalet, etc)
Cette liste permettrait d'alimenter la macro de suppression des lignes correspondantes?

Je suis peut être complètement fou mais cela fait maintenant 5 heures que j'essaie avec tous les moyens que je connais mais FLOP!!

Bon appétit...

Philippe.
 

Staple1600

XLDnaute Barbatruc
Re : Supprimer des lignes en fonction d'un mot d'une phrase incrite dans un cellule

Re

Un premier test (qui traite le mot, pas la phrase)
Code:
Sub test_1()
Dim i As Long
For i = [A65536].End(xlUp).Row To 1 Step -1
Select Case Cells(i, 1).Value
Case "toto1", "toto2", "toto3", "toto4", "toto5" ' compléter la liste
Cells(i, 1).Rows.Delete
End Select
Next i
End Sub

Il faudrait mieux passer par un tableau (Array)
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re : Supprimer des lignes en fonction d'un mot d'une phrase incrite dans un cellule

Re


Deuxième test (avec tableau)

(toujours uniquement le mot traité , pas la phrase)
Code:
Sub test_2()
Dim i As Integer
Dim Plage_A_TRAITER As Range
Dim Liste_VALEURS As Range
Dim Tab_LO As Variant
Dim CELL_TROUVEE As Range
Application.ScreenUpdating = False
Set Liste_VALEURS = Worksheets("Feuil1").Range("A1:A10") ' liste des valeurs recherchées
Tab_LO = Liste_VALEURS
Set Plage_A_TRAITER = Worksheets("Feuil2").Range("A:A")
'ici recherche dans la colonne A de la feuil2
For i = LBound(Tab_LO) To UBound(Tab_LO)
    Do
Set CELL_TROUVEE = Plage_A_TRAITER.Find(What:=Tab_LO(i, 1), After:=Range("A" & Rows.Count), _
                    LookIn:=xlFormulas, _
                    LookAt:=xlWhole, _
                    SearchOrder:=xlByRows, _
                    SearchDirection:=xlNext, _
                    MatchCase:=False)
                    'ici effacement de la ligne
            If Not CELL_TROUVEE Is Nothing Then CELL_TROUVEE.EntireRow.Delete
        Loop While Not (CELL_TROUVEE Is Nothing)
    Next i
Application.ScreenUpdating = True
End Sub

Test la différence avec ce petit changement ;)
LookAt:=xlPart
 
Dernière édition:

Excel_lent

XLDnaute Impliqué
Re : Supprimer des lignes en fonction d'un mot d'une phrase incrite dans un cellule

Salut PFRANCO, Staple. Re à tous.

Avant d'aller bricoler, une autre proposition à tester.
 

Pièces jointes

  • Mot E.zip
    11.7 KB · Affichages: 60
Dernière édition:

PFRANCO

XLDnaute Junior
Re : Supprimer des lignes en fonction d'un mot d'une phrase incrite dans un cellule

Bonsoir STAMPLE1600 & EXCEL LENT et à tous,

Merci pour vos propositions. Je n'ai pas eu le temps de décoder. Cela me semble prometteur.

Je pense regarder tout cela demain.

Allez, je vais vous faire rire, vous trouverez ci joint ce que j'ai bricolé. Il s'agit de la liste en question.

Imaginez comme je vous envie.

Bonne nuit et merci encore. A demain.

Philippe.
 

Pièces jointes

  • essai mercuriale.zip
    77.4 KB · Affichages: 64

PFRANCO

XLDnaute Junior
Re : Supprimer des lignes en fonction d'un mot d'une phrase incrite dans un cellule

Bonjour STAPLE1600 et Excel lent,

Merci à tous les deux pour vos talents. J'étais parti précipitamment en déplacement à l'étranger et peu d'accès perso au web.

Je vais m'empresser de tester et je vous fais un retour le plus vite posssible..

Merci encore.


Philippe.
 

PFRANCO

XLDnaute Junior
Re : Supprimer des lignes en fonction d'un mot d'une phrase incrite dans un cellule

Bonjour le Forum et slt à toi STAMPLE1600,

Enfin de retour d'un long déplacement!!!

Je reviens vers toi pour avoir ton éclairage à propos du code que tu avais conçu " supression de ligne en fonction d'une liste de mots"

Cela correpsond tout à fait au besoin concerné, cependant je ne parviens pas à le faire fonctionner dans mon application. Je suis obligé de faire "escape" pour mettre fin au processus. J'ai modifié la plage de travail mais même sans cela ... Pas glop!!!!!

Exemple ci joint..

A ta disposition pour plus d'informations.

Merci.

Merci aussi à Excel lent. pour sa participation.

Philippe
 

Pièces jointes

  • essai mercuriale V2.zip
    93.1 KB · Affichages: 59

Staple1600

XLDnaute Barbatruc
Re : Supprimer des lignes en fonction d'un mot d'une phrase incrite dans un cellule

Bonjour à tous


Etantt sous Excel 2000 , j'ai modifié légérement le code


Voir pièce jointe

Pour tester

1) cliquer suis Créer feuille de test

ensuite cliquer sur Filtrage, puis sur Sup lignes, puis sur Finition

Pas de problème sur mon poste

Par contre, est-ce normal que tu gardes des doublons?
 

PFRANCO

XLDnaute Junior
Re : Supprimer des lignes en fonction d'un mot d'une phrase incrite dans un cellule

Slt STAPLE1600,

Essai transformé. J'ai pris le meilleur, c'est à dire "tout". Je te laisse voir.

Merci por ton soutien. Cependant, comme je te le dis dans le fichier joint, je progresse mais suis encore trés "largué".

Merci à toi

A tous bonne journée.

Philippe
 

Pièces jointes

  • essai mercuriale V3.zip
    90 KB · Affichages: 74

Discussions similaires

Statistiques des forums

Discussions
312 211
Messages
2 086 295
Membres
103 171
dernier inscrit
clemm