suppression de ligne si le contenu de la cellule commence par E
8 réponses
gael.beauverger1
Bonjour,
J'ai un fichier de 35000 lignes dont les cellules de la colonne B
contiennent le matricule d'agents. Je souhaite supprimer les lignes
enti=E8res dont le matricule agent commence par E.
J'ai r=E9cuper=E9 le code suivant:
Sub supprimerligneagentsexternes()
Dim i As Long
Application.ScreenUpdating =3D False
For i =3D 65536 To 1 Step -1
If Left(UCase(Range("b" & i)), 1) =3D "E" Then Range("b" &
i).EntireRow.Delete
Next
End Sub
Cependant ceci ne fontionne pas, les lignes ne sont pas supprim=E9es.
Les codes sont sous la forme "E000000075" ou "00406588". Comment
am=E9liorer ce code?
Cordialement
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
AV
J'ai un fichier de 35000 lignes dont les cellules de la colonne B contiennent le matricule d'agents. Je souhaite supprimer les lignes entières dont le matricule agent commence par E.
Sub zzz() Application.ScreenUpdating = False [B:B].AutoFilter Field:=1, Criteria1:="=e*" Range("B2", [B65536].End(3)).SpecialCells(xlCellTypeVisible).EntireRow.Delete [A1].AutoFilter End Sub
AV
J'ai un fichier de 35000 lignes dont les cellules de la colonne B
contiennent le matricule d'agents. Je souhaite supprimer les lignes
entières dont le matricule agent commence par E.
Sub zzz()
Application.ScreenUpdating = False
[B:B].AutoFilter Field:=1, Criteria1:="=e*"
Range("B2",
[B65536].End(3)).SpecialCells(xlCellTypeVisible).EntireRow.Delete
[A1].AutoFilter
End Sub
J'ai un fichier de 35000 lignes dont les cellules de la colonne B contiennent le matricule d'agents. Je souhaite supprimer les lignes entières dont le matricule agent commence par E.
Sub zzz() Application.ScreenUpdating = False [B:B].AutoFilter Field:=1, Criteria1:="=e*" Range("B2", [B65536].End(3)).SpecialCells(xlCellTypeVisible).EntireRow.Delete [A1].AutoFilter End Sub
AV
Jacky
Bonsoir,
'---------- If UCase(Left(Range("b" & i), 1)) = "E" Then ....... '-----------
-- Salutations JJ
a écrit dans le message de news:
Bonjour, J'ai un fichier de 35000 lignes dont les cellules de la colonne B contiennent le matricule d'agents. Je souhaite supprimer les lignes entières dont le matricule agent commence par E. J'ai récuperé le code suivant:
Sub supprimerligneagentsexternes() Dim i As Long Application.ScreenUpdating = False For i = 65536 To 1 Step -1 If Left(UCase(Range("b" & i)), 1) = "E" Then Range("b" & i).EntireRow.Delete Next End Sub
Cependant ceci ne fontionne pas, les lignes ne sont pas supprimées. Les codes sont sous la forme "E000000075" ou "00406588". Comment améliorer ce code? Cordialement
Bonsoir,
'----------
If UCase(Left(Range("b" & i), 1)) = "E" Then .......
'-----------
--
Salutations
JJ
<gael.beauverger1@libertysurf.fr> a écrit dans le message de news:
1165422530.799361.62360@j72g2000cwa.googlegroups.com...
Bonjour,
J'ai un fichier de 35000 lignes dont les cellules de la colonne B
contiennent le matricule d'agents. Je souhaite supprimer les lignes
entières dont le matricule agent commence par E.
J'ai récuperé le code suivant:
Sub supprimerligneagentsexternes()
Dim i As Long
Application.ScreenUpdating = False
For i = 65536 To 1 Step -1
If Left(UCase(Range("b" & i)), 1) = "E" Then Range("b" &
i).EntireRow.Delete
Next
End Sub
Cependant ceci ne fontionne pas, les lignes ne sont pas supprimées.
Les codes sont sous la forme "E000000075" ou "00406588". Comment
améliorer ce code?
Cordialement
'---------- If UCase(Left(Range("b" & i), 1)) = "E" Then ....... '-----------
-- Salutations JJ
a écrit dans le message de news:
Bonjour, J'ai un fichier de 35000 lignes dont les cellules de la colonne B contiennent le matricule d'agents. Je souhaite supprimer les lignes entières dont le matricule agent commence par E. J'ai récuperé le code suivant:
Sub supprimerligneagentsexternes() Dim i As Long Application.ScreenUpdating = False For i = 65536 To 1 Step -1 If Left(UCase(Range("b" & i)), 1) = "E" Then Range("b" & i).EntireRow.Delete Next End Sub
Cependant ceci ne fontionne pas, les lignes ne sont pas supprimées. Les codes sont sous la forme "E000000075" ou "00406588". Comment améliorer ce code? Cordialement
AV
PS :
de.... " [B:B].AutoFilter Field:=........à .......Delete" une seule ligne !
AV
PS :
de.... " [B:B].AutoFilter Field:=........à .......Delete"
une seule ligne !
de.... " [B:B].AutoFilter Field:=........à .......Delete" une seule ligne !
AV
Jacky
Bonsoir AV
une seule ligne ! Deux tout de même, non ? ou alors j'ai pas compris
La première de: [B:B]........à..."=e*"
La deuxième de: Range ....à...delete
ou alors j'ai pas compris... Une question stp Pourquoi le deuxième "=" de Criteria1:="=e*" ??? J'ai testé avec Criteria1:="e*" et cela fonctionne aussi.
-- Salutations JJ
"AV" a écrit dans le message de news:
PS :
de.... " [B:B].AutoFilter Field:=........à .......Delete" une seule ligne !
AV
Bonsoir AV
une seule ligne !
Deux tout de même, non ? ou alors j'ai pas compris
La première de:
[B:B]........à..."=e*"
La deuxième de:
Range ....à...delete
ou alors j'ai pas compris...
Une question stp
Pourquoi le deuxième "=" de Criteria1:="=e*" ???
J'ai testé avec Criteria1:="e*" et cela fonctionne aussi.
--
Salutations
JJ
"AV" <alainPFFFvallon@wanadoo.fr> a écrit dans le message de news:
eGyPakVGHHA.3328@TK2MSFTNGP05.phx.gbl...
PS :
de.... " [B:B].AutoFilter Field:=........à .......Delete"
une seule ligne !
une seule ligne ! Deux tout de même, non ? ou alors j'ai pas compris
La première de: [B:B]........à..."=e*"
La deuxième de: Range ....à...delete
ou alors j'ai pas compris... Une question stp Pourquoi le deuxième "=" de Criteria1:="=e*" ??? J'ai testé avec Criteria1:="e*" et cela fonctionne aussi.
-- Salutations JJ
"AV" a écrit dans le message de news:
PS :
de.... " [B:B].AutoFilter Field:=........à .......Delete" une seule ligne !
AV
AV
une seule ligne !
Mais non pas une seule ligne en tout mais l'instruction Range("B2"... à ....Delete sur une seule ligne. Pour toi ça n'apparait sur 2 lignes sur le forum ?
Pourquoi le deuxième "=" de Criteria1:="=e*"
Pas de raison si ce n'est que c'est ce que renvoie l'enregistreur (dont j'use au maximum) et que je n'ai pas "nettoyé" avant envoi !
AV
une seule ligne !
Mais non pas une seule ligne en tout mais l'instruction
Range("B2"... à ....Delete
sur une seule ligne.
Pour toi ça n'apparait sur 2 lignes sur le forum ?
Pourquoi le deuxième "=" de Criteria1:="=e*"
Pas de raison si ce n'est que c'est ce que renvoie l'enregistreur (dont j'use au
maximum) et que je n'ai pas "nettoyé" avant envoi !
Mais non pas une seule ligne en tout mais l'instruction Range("B2"... à ....Delete sur une seule ligne. Pour toi ça n'apparait sur 2 lignes sur le forum ?
Pourquoi le deuxième "=" de Criteria1:="=e*"
Pas de raison si ce n'est que c'est ce que renvoie l'enregistreur (dont j'use au maximum) et que je n'ai pas "nettoyé" avant envoi !
AV
Jacky
Pour toi ça n'apparait sur 2 lignes sur le forum ? Si, Si , mais comme tu disais:
de.... " [B:B].AutoFilter Field:=........à .......Delete" une seule ligne !
...et que je n'ai pas "nettoyé" avant envoi ! Ah !, c'est ok pour moi.
Reste plus qu'à Gael de d'employer ce filtre bien plus rapide qu'une boucle. -- JJ (qui n'emploie pas assez souvent les filtres)
"AV" a écrit dans le message de news: %
une seule ligne !
Mais non pas une seule ligne en tout mais l'instruction Range("B2"... à ....Delete sur une seule ligne. Pour toi ça n'apparait sur 2 lignes sur le forum ?
Pourquoi le deuxième "=" de Criteria1:="=e*"
Pas de raison si ce n'est que c'est ce que renvoie l'enregistreur (dont j'use au maximum) et que je n'ai pas "nettoyé" avant envoi !
AV
Pour toi ça n'apparait sur 2 lignes sur le forum ?
Si, Si , mais comme tu disais:
de.... " [B:B].AutoFilter Field:=........à .......Delete"
une seule ligne !
...et que je n'ai pas "nettoyé" avant envoi !
Ah !, c'est ok pour moi.
Reste plus qu'à Gael de d'employer ce filtre bien plus rapide qu'une boucle.
--
JJ (qui n'emploie pas assez souvent les filtres)
"AV" <alainPFFFvallon@wanadoo.fr> a écrit dans le message de news:
%23sou7SWGHHA.4652@TK2MSFTNGP04.phx.gbl...
une seule ligne !
Mais non pas une seule ligne en tout mais l'instruction
Range("B2"... à ....Delete
sur une seule ligne.
Pour toi ça n'apparait sur 2 lignes sur le forum ?
Pourquoi le deuxième "=" de Criteria1:="=e*"
Pas de raison si ce n'est que c'est ce que renvoie l'enregistreur (dont
j'use au maximum) et que je n'ai pas "nettoyé" avant envoi !
Pour toi ça n'apparait sur 2 lignes sur le forum ? Si, Si , mais comme tu disais:
de.... " [B:B].AutoFilter Field:=........à .......Delete" une seule ligne !
...et que je n'ai pas "nettoyé" avant envoi ! Ah !, c'est ok pour moi.
Reste plus qu'à Gael de d'employer ce filtre bien plus rapide qu'une boucle. -- JJ (qui n'emploie pas assez souvent les filtres)
"AV" a écrit dans le message de news: %
une seule ligne !
Mais non pas une seule ligne en tout mais l'instruction Range("B2"... à ....Delete sur une seule ligne. Pour toi ça n'apparait sur 2 lignes sur le forum ?
Pourquoi le deuxième "=" de Criteria1:="=e*"
Pas de raison si ce n'est que c'est ce que renvoie l'enregistreur (dont j'use au maximum) et que je n'ai pas "nettoyé" avant envoi !
AV
AV
Pour toi ça n'apparait sur 2 lignes sur le forum ? Si, Si , mais comme tu disais:
de.... " [B:B].AutoFilter Field:=........à .......Delete" une seule ligne !
Pffff...j'avais même pas relu !
AV
Pour toi ça n'apparait sur 2 lignes sur le forum ?
Si, Si , mais comme tu disais:
de.... " [B:B].AutoFilter Field:=........à .......Delete"
une seule ligne !
Pour toi ça n'apparait sur 2 lignes sur le forum ? Si, Si , mais comme tu disais:
de.... " [B:B].AutoFilter Field:=........à .......Delete" une seule ligne !
Pffff...j'avais même pas relu !
AV
gael.beauverger1
Bonjour à AV et Jacky, En reprenant l'enregistreur et les filtres auto, j'ai créé ceci qui marche pas mal: Sub Test() ActiveWindow.SmallScroll ToRight:=-3 Range("A2").Select Selection.AutoFilter Selection.AutoFilter Field:=2, Criteria1:="E*", Operator:=xlAnd Set x = Range("_FilterDataBase").Offset(1, 0).Resize(Range("_FilterDataBase"). _ Rows.Count - 1, Range("_FilterDataBase").Columns.Count).SpecialCells(xlCellTypeVisible) x.EntireRow.Delete ActiveSheet.ShowAllData End Sub
Merci à tout les deux pour l'aide! Cordialement
Bonjour à AV et Jacky,
En reprenant l'enregistreur et les filtres auto, j'ai créé ceci qui
marche pas mal:
Sub Test()
ActiveWindow.SmallScroll ToRight:=-3
Range("A2").Select
Selection.AutoFilter
Selection.AutoFilter Field:=2, Criteria1:="E*", Operator:=xlAnd
Set x = Range("_FilterDataBase").Offset(1,
0).Resize(Range("_FilterDataBase"). _
Rows.Count - 1,
Range("_FilterDataBase").Columns.Count).SpecialCells(xlCellTypeVisible)
x.EntireRow.Delete
ActiveSheet.ShowAllData
End Sub
Bonjour à AV et Jacky, En reprenant l'enregistreur et les filtres auto, j'ai créé ceci qui marche pas mal: Sub Test() ActiveWindow.SmallScroll ToRight:=-3 Range("A2").Select Selection.AutoFilter Selection.AutoFilter Field:=2, Criteria1:="E*", Operator:=xlAnd Set x = Range("_FilterDataBase").Offset(1, 0).Resize(Range("_FilterDataBase"). _ Rows.Count - 1, Range("_FilterDataBase").Columns.Count).SpecialCells(xlCellTypeVisible) x.EntireRow.Delete ActiveSheet.ShowAllData End Sub