supprimer une ligne si une cellule contien la valeur X
2 réponses
openfire
Bonjour,
j'ai une feuille de 5 colonnes et de 1200 lignes je voudrais supprimer les lignes qui contiennent des caractéres spécifiques (sa dépand chaque fois quel caractères) j'ai reussi a créer un bout de code sur internet qui a donné ceci:
Sub DelEditeur2()
Dim i As Integer
Dim Editeur As String
Editeur = InputBox("Veuillez entrer l'editeur à supprimer ?", "bienvenue", "moez")
'la valeur saisie est transmise à la variable Editeur
With ThisWorkbook.Sheets("13_02")
For i = .Range("A" & .Rows.Count).End(xlUp).Row To 2 Step -1
If .Range("A" & i).Value = Editeur Then
Rows(i).Delete
lig = lig + 1
'Comptons les lignes effacées
End If
Next i
MsgBox "J'ai effacer " & lig & " ligne(s) contenant l'expression : " _
& Editeur, vbOKOnly + vbInformation, "INFORMATION"
'Affichons le nombre de lignes effacées
End With
End Sub
et ceci ne supprime que les cellules contenant un mot spécifique donc si le mot est au milieu de la céllule sa le supprime pas
merci pour votre aide sachant que je suis plus php que vba donc mon niveau est super noob en VBA
merci
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
MichD
Bonjour,
Cette procédure supprime les lignes entières où l'expression saisie fait partie du contenu d'une cellule dans la colonne A:A et affiche le nombre de lignes supprimées.
'-------------------------------------------------- Sub test() Dim Editeur As Variant, Nb As Long
Editeur = Application.InputBox( _ Prompt:="Veuillez entrer l'editeur à supprimer ?", _ Title:="bienvenue", Type:=2) If TypeName(Editeur) = "Boolean" Then Exit Sub
Application.ScreenUpdating = False With Worksheets("Feuil1") 'Nom feuille à adapter With .Range("A1:A" & .Range("A65536").End(xlUp).Row) .AutoFilter field:=1, Criteria1:="*" & Editeur & "*" Nb = Application.WorksheetFunction.Subtotal(3, .Cells) - 1 Set rg = .Range("_FilterDataBase") rg.Offset(1).Resize(rg.Rows.Count - 1). _ SpecialCells(xlCellTypeVisible).EntireRow.Delete .AutoFilter End With End With If Nb <> 0 Then MsgBox Nb & " lignes de supprimer." End If Application.ScreenUpdating = True End Sub '--------------------------------------------------
MichD -------------------------------------------- "openfire" a écrit dans le message de groupe de discussion :
Bonjour, j'ai une feuille de 5 colonnes et de 1200 lignes je voudrais supprimer les lignes qui contiennent des caractéres spécifiques (sa dépand chaque fois quel caractères) j'ai reussi a créer un bout de code sur internet qui a donné ceci:
Sub DelEditeur2()
Dim i As Integer Dim Editeur As String Editeur = InputBox("Veuillez entrer l'editeur à supprimer ?", "bienvenue", "moez") 'la valeur saisie est transmise à la variable Editeur With ThisWorkbook.Sheets("13_02") For i = .Range("A" & .Rows.Count).End(xlUp).Row To 2 Step -1 If .Range("A" & i).Value = Editeur Then Rows(i).Delete lig = lig + 1 'Comptons les lignes effacées End If Next i MsgBox "J'ai effacer " & lig & " ligne(s) contenant l'expression : " _ & Editeur, vbOKOnly + vbInformation, "INFORMATION" 'Affichons le nombre de lignes effacées End With
End Sub
et ceci ne supprime que les cellules contenant un mot spécifique donc si le mot est au milieu de la céllule sa le supprime pas merci pour votre aide sachant que je suis plus php que vba donc mon niveau est super noob en VBA merci
Bonjour,
Cette procédure supprime les lignes entières où l'expression saisie
fait partie du contenu d'une cellule dans la colonne A:A et affiche
le nombre de lignes supprimées.
'--------------------------------------------------
Sub test()
Dim Editeur As Variant, Nb As Long
Editeur = Application.InputBox( _
Prompt:="Veuillez entrer l'editeur à supprimer ?", _
Title:="bienvenue", Type:=2)
If TypeName(Editeur) = "Boolean" Then Exit Sub
Application.ScreenUpdating = False
With Worksheets("Feuil1") 'Nom feuille à adapter
With .Range("A1:A" & .Range("A65536").End(xlUp).Row)
.AutoFilter field:=1, Criteria1:="*" & Editeur & "*"
Nb = Application.WorksheetFunction.Subtotal(3, .Cells) - 1
Set rg = .Range("_FilterDataBase")
rg.Offset(1).Resize(rg.Rows.Count - 1). _
SpecialCells(xlCellTypeVisible).EntireRow.Delete
.AutoFilter
End With
End With
If Nb <> 0 Then
MsgBox Nb & " lignes de supprimer."
End If
Application.ScreenUpdating = True
End Sub
'--------------------------------------------------
MichD
--------------------------------------------
"openfire" a écrit dans le message de groupe de discussion : -aSdneGjgvcaS_DT4p2dnAA@giganews.com...
Bonjour,
j'ai une feuille de 5 colonnes et de 1200 lignes je voudrais supprimer les
lignes qui contiennent des caractéres spécifiques (sa dépand chaque fois quel
caractères) j'ai reussi a créer un bout de code sur internet qui a donné ceci:
Sub DelEditeur2()
Dim i As Integer
Dim Editeur As String
Editeur = InputBox("Veuillez entrer l'editeur à supprimer ?", "bienvenue",
"moez")
'la valeur saisie est transmise à la variable Editeur
With ThisWorkbook.Sheets("13_02")
For i = .Range("A" & .Rows.Count).End(xlUp).Row To 2 Step -1
If .Range("A" & i).Value = Editeur Then
Rows(i).Delete
lig = lig + 1
'Comptons les lignes effacées
End If
Next i
MsgBox "J'ai effacer " & lig & " ligne(s) contenant l'expression : " _
& Editeur, vbOKOnly + vbInformation, "INFORMATION"
'Affichons le nombre de lignes effacées
End With
End Sub
et ceci ne supprime que les cellules contenant un mot spécifique donc si le mot
est au milieu de la céllule sa le supprime pas
merci pour votre aide sachant que je suis plus php que vba donc mon niveau est
super noob en VBA
merci
Cette procédure supprime les lignes entières où l'expression saisie fait partie du contenu d'une cellule dans la colonne A:A et affiche le nombre de lignes supprimées.
'-------------------------------------------------- Sub test() Dim Editeur As Variant, Nb As Long
Editeur = Application.InputBox( _ Prompt:="Veuillez entrer l'editeur à supprimer ?", _ Title:="bienvenue", Type:=2) If TypeName(Editeur) = "Boolean" Then Exit Sub
Application.ScreenUpdating = False With Worksheets("Feuil1") 'Nom feuille à adapter With .Range("A1:A" & .Range("A65536").End(xlUp).Row) .AutoFilter field:=1, Criteria1:="*" & Editeur & "*" Nb = Application.WorksheetFunction.Subtotal(3, .Cells) - 1 Set rg = .Range("_FilterDataBase") rg.Offset(1).Resize(rg.Rows.Count - 1). _ SpecialCells(xlCellTypeVisible).EntireRow.Delete .AutoFilter End With End With If Nb <> 0 Then MsgBox Nb & " lignes de supprimer." End If Application.ScreenUpdating = True End Sub '--------------------------------------------------
MichD -------------------------------------------- "openfire" a écrit dans le message de groupe de discussion :
Bonjour, j'ai une feuille de 5 colonnes et de 1200 lignes je voudrais supprimer les lignes qui contiennent des caractéres spécifiques (sa dépand chaque fois quel caractères) j'ai reussi a créer un bout de code sur internet qui a donné ceci:
Sub DelEditeur2()
Dim i As Integer Dim Editeur As String Editeur = InputBox("Veuillez entrer l'editeur à supprimer ?", "bienvenue", "moez") 'la valeur saisie est transmise à la variable Editeur With ThisWorkbook.Sheets("13_02") For i = .Range("A" & .Rows.Count).End(xlUp).Row To 2 Step -1 If .Range("A" & i).Value = Editeur Then Rows(i).Delete lig = lig + 1 'Comptons les lignes effacées End If Next i MsgBox "J'ai effacer " & lig & " ligne(s) contenant l'expression : " _ & Editeur, vbOKOnly + vbInformation, "INFORMATION" 'Affichons le nombre de lignes effacées End With
End Sub
et ceci ne supprime que les cellules contenant un mot spécifique donc si le mot est au milieu de la céllule sa le supprime pas merci pour votre aide sachant que je suis plus php que vba donc mon niveau est super noob en VBA merci
DanielCo
Bonjour, Essaie comme cecci :
Sub test() Dim Plage As Range, c As Range Dim Editeur As String Editeur = InputBox("Veuillez entrer l'editeur à supprimer ?", "bienvenue", "moez")
With ThisWorkbook.Sheets("13_02") Set Plage = .Range(.[A2], .Cells(.Rows.Count, 1).End(xlUp)) Set c = Plage.Find(Editeur, , , xlPart) Do While Not c Is Nothing c.EntireRow.Delete Set c = Plage.Find(Editeur, , , xlPart) Loop End With End Sub
Daniel
Bonjour, j'ai une feuille de 5 colonnes et de 1200 lignes je voudrais supprimer les lignes qui contiennent des caractéres spécifiques (sa dépand chaque fois quel caractères) j'ai reussi a créer un bout de code sur internet qui a donné ceci:
Sub DelEditeur2()
Dim i As Integer Dim Editeur As String Editeur = InputBox("Veuillez entrer l'editeur à supprimer ?", "bienvenue", "moez") 'la valeur saisie est transmise à la variable Editeur With ThisWorkbook.Sheets("13_02") For i = .Range("A" & .Rows.Count).End(xlUp).Row To 2 Step -1 If .Range("A" & i).Value = Editeur Then Rows(i).Delete lig = lig + 1 'Comptons les lignes effacées End If Next i MsgBox "J'ai effacer " & lig & " ligne(s) contenant l'expression : " _ & Editeur, vbOKOnly + vbInformation, "INFORMATION" 'Affichons le nombre de lignes effacées End With
End Sub
et ceci ne supprime que les cellules contenant un mot spécifique donc si le mot est au milieu de la céllule sa le supprime pas merci pour votre aide sachant que je suis plus php que vba donc mon niveau est super noob en VBA merci
Bonjour,
Essaie comme cecci :
Sub test()
Dim Plage As Range, c As Range
Dim Editeur As String
Editeur = InputBox("Veuillez entrer l'editeur à supprimer ?",
"bienvenue", "moez")
With ThisWorkbook.Sheets("13_02")
Set Plage = .Range(.[A2], .Cells(.Rows.Count, 1).End(xlUp))
Set c = Plage.Find(Editeur, , , xlPart)
Do While Not c Is Nothing
c.EntireRow.Delete
Set c = Plage.Find(Editeur, , , xlPart)
Loop
End With
End Sub
Daniel
Bonjour,
j'ai une feuille de 5 colonnes et de 1200 lignes je voudrais supprimer les
lignes qui contiennent des caractéres spécifiques (sa dépand chaque fois quel
caractères) j'ai reussi a créer un bout de code sur internet qui a donné
ceci:
Sub DelEditeur2()
Dim i As Integer
Dim Editeur As String
Editeur = InputBox("Veuillez entrer l'editeur à supprimer ?", "bienvenue",
"moez")
'la valeur saisie est transmise à la variable Editeur
With ThisWorkbook.Sheets("13_02")
For i = .Range("A" & .Rows.Count).End(xlUp).Row To 2 Step -1
If .Range("A" & i).Value = Editeur Then
Rows(i).Delete
lig = lig + 1
'Comptons les lignes effacées
End If
Next i
MsgBox "J'ai effacer " & lig & " ligne(s) contenant l'expression : " _
& Editeur, vbOKOnly + vbInformation, "INFORMATION"
'Affichons le nombre de lignes effacées
End With
End Sub
et ceci ne supprime que les cellules contenant un mot spécifique donc si le
mot est au milieu de la céllule sa le supprime pas
merci pour votre aide sachant que je suis plus php que vba donc mon niveau
est super noob en VBA
merci
Sub test() Dim Plage As Range, c As Range Dim Editeur As String Editeur = InputBox("Veuillez entrer l'editeur à supprimer ?", "bienvenue", "moez")
With ThisWorkbook.Sheets("13_02") Set Plage = .Range(.[A2], .Cells(.Rows.Count, 1).End(xlUp)) Set c = Plage.Find(Editeur, , , xlPart) Do While Not c Is Nothing c.EntireRow.Delete Set c = Plage.Find(Editeur, , , xlPart) Loop End With End Sub
Daniel
Bonjour, j'ai une feuille de 5 colonnes et de 1200 lignes je voudrais supprimer les lignes qui contiennent des caractéres spécifiques (sa dépand chaque fois quel caractères) j'ai reussi a créer un bout de code sur internet qui a donné ceci:
Sub DelEditeur2()
Dim i As Integer Dim Editeur As String Editeur = InputBox("Veuillez entrer l'editeur à supprimer ?", "bienvenue", "moez") 'la valeur saisie est transmise à la variable Editeur With ThisWorkbook.Sheets("13_02") For i = .Range("A" & .Rows.Count).End(xlUp).Row To 2 Step -1 If .Range("A" & i).Value = Editeur Then Rows(i).Delete lig = lig + 1 'Comptons les lignes effacées End If Next i MsgBox "J'ai effacer " & lig & " ligne(s) contenant l'expression : " _ & Editeur, vbOKOnly + vbInformation, "INFORMATION" 'Affichons le nombre de lignes effacées End With
End Sub
et ceci ne supprime que les cellules contenant un mot spécifique donc si le mot est au milieu de la céllule sa le supprime pas merci pour votre aide sachant que je suis plus php que vba donc mon niveau est super noob en VBA merci