supprimer des lignes avec du texte

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

V

veesti

Guest
Bonjour,
Je suis un débutant en excel et VBA (vraiment débutant), et je souhaiterais supprimer des lignes contenant du texte à l'aide d'une macro. Je regarde depuis un moment les discussions mais ne trouve pas mon bonheur...
Par exemple si des cellules contiennent "prix d'achat", j'aimerais supprimer toutes ces lignes dans tout le sheet.
Ce serait encore mieux si vous pouviez me dire comment faire cette même procédure sur un autre sheet du classeur (à partir du sheet 1 travailler sur le 2...)
Merci beaucoup à vous, connaisseurs d'excel!

Steve
 
Re : supprimer des lignes avec du texte

Bonjour


Pour traiter le classeur actif


Code:
Sub supprime_lignes()
[COLOR=SeaGreen]'Déclarations[/COLOR]
Dim ws As Worksheet
Dim c As Range
[COLOR=SeaGreen]'traite toutes les feuilles du classeur[/COLOR]
For Each ws In Worksheets
[COLOR=SeaGreen]'dans la zone active de chaque feuille[/COLOR]
For Each c In ws.UsedRange
[COLOR=SeaGreen]'si la cellule contient prix d'achat, supprime la ligne entière[/COLOR]
If c Like "prix d'achat" Then c.EntireRow.Delete
Next c
Next ws
End Sub

Mise en place du code
Dans Excel, faire ALT+F11
1) Insertion/Module
2) Copier/coller la macro ci-dessus
3)Outils/Macros
Sélectionner la macro à exécuter
Et cliquer sur [Exécuter]
 
Dernière édition:
Re : supprimer des lignes avec du texte

Bonjour Veesti,

voici une macro qui supprime les ligne de la feuill1 qui contiennent "prix d'achat".

Code:
Sub SupprimerLignes()
Dim Sh As Worksheet
Dim plage As Range
Dim cpt As Long, i As Long
Set Sh = Sheets("Feuil1")
Set plage = Sh.UsedRange
cpt = plage.Rows.Count
For i = cpt To 1 Step -1
    If Application.CountIf(plage.Rows(i), "prix d'achat") > 0 Then
        r.Delete xlShiftUp
    End If
Next i
End Sub

Bien sur c'est à adapter à ton cas.
Remplacer la référence à Feuil1 par le nom de la feuille concernée.
Remplacer "prix d'achat" par le texte idoine.

Ces deux constantes peuvent être remplacer par des variables mais il faut nous dire sur quel critère sélectionner et le nom de la feuille et le texte.

A bientôt
 
Re : supprimer des lignes avec du texte

merci à tous pour vos réponses rapides et très efficace! (ton programme marche très bien finalement staple). Hasco j'essaierai le tien quand j'aurait un peu avancer dans mon projet, mais sans aucun doute je peux l'utiliser...
Merci encore!

Steve
 
- 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

F
Réponses
2
Affichages
690
F
Retour