Supprimer une ligne lorsque toute la ligne ne contient pas un mo
Candice
-
pijaku Messages postés 13513 Date d'inscription Statut Modérateur Dernière intervention -
pijaku Messages postés 13513 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
J'aimerai supprimer les lignes d'un tableau EXcel lorsque les lignes ne contiennent pas un mot. Le mot en question ne se trouve pas dans une colonne précise, il faut donc regarder toutes les cellules de la ligne pour voir si on supprime cette ligne ou non.
Un grand merci d'avance pour votre aide,
Candice
J'aimerai supprimer les lignes d'un tableau EXcel lorsque les lignes ne contiennent pas un mot. Le mot en question ne se trouve pas dans une colonne précise, il faut donc regarder toutes les cellules de la ligne pour voir si on supprime cette ligne ou non.
Un grand merci d'avance pour votre aide,
Candice
A voir également:
- Supprimer une ligne lorsque toute la ligne ne contient pas un mo
- Supprimer rond bleu whatsapp - Guide
- Partager photos en ligne - Guide
- Mètre en ligne - Guide
- Supprimer une page word - Guide
- Aller à la ligne excel - Guide
1 réponse
Bonjour,
Macros à adapter :
Pour masquer les lignes ou apparait le mot Pingouin :
1- si le mot est seul dans la cellule :
2- si le mot est dans une cellule à l'intérieur d'une phrase :
par exemple : "Le pingouin est sur la banquise"
Pour supprimer, il faut faire la boucle à l'envers et remplacer .Hidden = True par .Delete, comme ceci :
1- si le mot est seul dans la cellule :
2- si le mot est dans une cellule à l'intérieur d'une phrase :
par exemple : "Le pingouin nage dans l'eau"
A noter : l'écriture :
Cordialement,
Franck
Macros à adapter :
Pour masquer les lignes ou apparait le mot Pingouin :
1- si le mot est seul dans la cellule :
Sub MasqueLignes1()
Dim Lig As Long, DrLig As Long, monMot As String
monMot = "Pingouin"
With Sheets("Feuil1") ' A Adapter le nom de la feuille
DrLig = .Columns(1).Find("*", , , , xlByColumns, xlPrevious).Row
For Lig = 2 To DrLig
If WorksheetFunction.CountIf(.Rows(Lig), monMot) > 0 Then .Rows(Lig).Hidden = True
Next Lig
End With
End Sub
2- si le mot est dans une cellule à l'intérieur d'une phrase :
par exemple : "Le pingouin est sur la banquise"
Sub MasqueLignes2()
Dim Lig As Long, DrLig As Long, monMot As String
monMot = "Pingouin"
With Sheets("Feuil1") ' A Adapter le nom de la feuille
DrLig = .Columns(1).Find("*", , , , xlByColumns, xlPrevious).Row
For Lig = 2 To DrLig
If WorksheetFunction.CountIf(.Rows(Lig), "*" & monMot & "*") > 0 Then .Rows(Lig).Hidden = True
Next Lig
End With
End Sub
Pour supprimer, il faut faire la boucle à l'envers et remplacer .Hidden = True par .Delete, comme ceci :
1- si le mot est seul dans la cellule :
Sub MasqueLignes1()
Dim Lig As Long, DrLig As Long, monMot As String
monMot = "Pingouin"
With Sheets("Feuil1") ' A Adapter le nom de la feuille
DrLig = .Columns(1).Find("*", , , , xlByColumns, xlPrevious).Row
For Lig = DrLig To 2 Step - 1
If WorksheetFunction.CountIf(.Rows(Lig), monMot) > 0 Then .Rows(Lig).Delete
Next Lig
End With
End Sub
2- si le mot est dans une cellule à l'intérieur d'une phrase :
par exemple : "Le pingouin nage dans l'eau"
Sub MasqueLignes2()
Dim Lig As Long, DrLig As Long, monMot As String
monMot = "Pingouin"
With Sheets("Feuil1") ' A Adapter le nom de la feuille
DrLig = .Columns(1).Find("*", , , , xlByColumns, xlPrevious).Row
For Lig = DrLig To 2 Step - 1
If WorksheetFunction.CountIf(.Rows(Lig), "*" & monMot & "*") > 0 Then .Rows(Lig).Delete
Next Lig
End With
End Sub
A noter : l'écriture :
DrLig = .Columns(1).Find("*", , , , xlByColumns, xlPrevious).Row suppose que la colonne A (Columns(1)) est, au moins, la plus remplie...
Cordialement,
Franck