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
LSteph
Bonsoir;
sais-tu que le select n'est pas nécessaire?
Sub virBtruc()
Dim i As Long Application.ScreenUpdating = False For i = [a65536].End(xlUp).Row To 3 Step -1 If UCase(Left(Cells(i, 1), 1)) = "B" Then Rows(i).EntireRow.Delete End If Next End Sub
'lSteph
Jean-Marc a écrit :
Bonsoir,
en VBA (Excel 2003) je filtre une zone, puis sélectionne toutes les lignes que je veux supprimer
Exemple : je veux supprimer toutes les références qui commencent par un B :
Selection.AutoFilter Field:=1, Criteria1:="=B*" Range("A3").Select ' ligne des entetes de colonne
puis, et c'est là mon problème, je veux me positionner sur la première ligne sélectionnée
ActiveCell.Offset(1, 0).Rows("1:1").EntireRow.Select ' ne marche que si la première ligne est sélectionnée, sinon j'efface des lignes bonnes
Dim i As Long
Application.ScreenUpdating = False
For i = [a65536].End(xlUp).Row To 3 Step -1
If UCase(Left(Cells(i, 1), 1)) = "B" Then
Rows(i).EntireRow.Delete
End If
Next
End Sub
'lSteph
Jean-Marc a écrit :
Bonsoir,
en VBA (Excel 2003)
je filtre une zone, puis sélectionne toutes les lignes que je veux supprimer
Exemple : je veux supprimer toutes les références qui commencent par un B :
Selection.AutoFilter Field:=1, Criteria1:="=B*"
Range("A3").Select ' ligne des entetes de colonne
puis, et c'est là mon problème, je veux me positionner sur la première ligne
sélectionnée
ActiveCell.Offset(1, 0).Rows("1:1").EntireRow.Select ' ne marche que
si la première ligne est sélectionnée, sinon j'efface des lignes bonnes
Dim i As Long Application.ScreenUpdating = False For i = [a65536].End(xlUp).Row To 3 Step -1 If UCase(Left(Cells(i, 1), 1)) = "B" Then Rows(i).EntireRow.Delete End If Next End Sub
'lSteph
Jean-Marc a écrit :
Bonsoir,
en VBA (Excel 2003) je filtre une zone, puis sélectionne toutes les lignes que je veux supprimer
Exemple : je veux supprimer toutes les références qui commencent par un B :
Selection.AutoFilter Field:=1, Criteria1:="=B*" Range("A3").Select ' ligne des entetes de colonne
puis, et c'est là mon problème, je veux me positionner sur la première ligne sélectionnée
ActiveCell.Offset(1, 0).Rows("1:1").EntireRow.Select ' ne marche que si la première ligne est sélectionnée, sinon j'efface des lignes bonnes
Bonsoir En effet en vba cela ne fonctionne pas ainsi essaye cela Function premiere_ligne() With ActiveSheet.AutoFilter.Range.Columns(3) adr = .Cells(3).Address Set C = .Columns(3).Find("*") End With premiere_ligne = C.Row End Function
"Jean-Marc" wrote:
Bonsoir,
en VBA (Excel 2003) je filtre une zone, puis sélectionne toutes les lignes que je veux supprimer
Exemple : je veux supprimer toutes les références qui commencent par un B :
Selection.AutoFilter Field:=1, Criteria1:="=B*" Range("A3").Select ' ligne des entetes de colonne
puis, et c'est là mon problème, je veux me positionner sur la première ligne sélectionnée
ActiveCell.Offset(1, 0).Rows("1:1").EntireRow.Select ' ne marche que si la première ligne est sélectionnée, sinon j'efface des lignes bonnes
Bonsoir
En effet en vba cela ne fonctionne pas ainsi
essaye cela
Function premiere_ligne()
With ActiveSheet.AutoFilter.Range.Columns(3)
adr = .Cells(3).Address
Set C = .Columns(3).Find("*")
End With
premiere_ligne = C.Row
End Function
"Jean-Marc" wrote:
Bonsoir,
en VBA (Excel 2003)
je filtre une zone, puis sélectionne toutes les lignes que je veux supprimer
Exemple : je veux supprimer toutes les références qui commencent par un B :
Selection.AutoFilter Field:=1, Criteria1:="=B*"
Range("A3").Select ' ligne des entetes de colonne
puis, et c'est là mon problème, je veux me positionner sur la première ligne
sélectionnée
ActiveCell.Offset(1, 0).Rows("1:1").EntireRow.Select ' ne marche que
si la première ligne est sélectionnée, sinon j'efface des lignes bonnes
Bonsoir En effet en vba cela ne fonctionne pas ainsi essaye cela Function premiere_ligne() With ActiveSheet.AutoFilter.Range.Columns(3) adr = .Cells(3).Address Set C = .Columns(3).Find("*") End With premiere_ligne = C.Row End Function
"Jean-Marc" wrote:
Bonsoir,
en VBA (Excel 2003) je filtre une zone, puis sélectionne toutes les lignes que je veux supprimer
Exemple : je veux supprimer toutes les références qui commencent par un B :
Selection.AutoFilter Field:=1, Criteria1:="=B*" Range("A3").Select ' ligne des entetes de colonne
puis, et c'est là mon problème, je veux me positionner sur la première ligne sélectionnée
ActiveCell.Offset(1, 0).Rows("1:1").EntireRow.Select ' ne marche que si la première ligne est sélectionnée, sinon j'efface des lignes bonnes
Merci beaucoup Steph, Cela marche, mais j'ai une dizaine de critères. Cela fait 10 boucles Alors même avec le ScreenUpdating = False, cela prends du temps Il n'y a pas un moyen de ne sélectionner que les cellules visibles?
Cdt Jean-Marc "LSteph" a écrit dans le message de news:
Bonsoir;
sais-tu que le select n'est pas nécessaire?
Sub virBtruc()
Dim i As Long Application.ScreenUpdating = False For i = [a65536].End(xlUp).Row To 3 Step -1 If UCase(Left(Cells(i, 1), 1)) = "B" Then Rows(i).EntireRow.Delete End If Next End Sub
'lSteph
Jean-Marc a écrit :
Bonsoir,
en VBA (Excel 2003) je filtre une zone, puis sélectionne toutes les lignes que je veux supprimer
Exemple : je veux supprimer toutes les références qui commencent par un B :
Selection.AutoFilter Field:=1, Criteria1:="=B*" Range("A3").Select ' ligne des entetes de colonne
puis, et c'est là mon problème, je veux me positionner sur la première ligne sélectionnée
ActiveCell.Offset(1, 0).Rows("1:1").EntireRow.Select ' ne marche que si la première ligne est sélectionnée, sinon j'efface des lignes bonnes
Merci beaucoup Steph,
Cela marche, mais j'ai une dizaine de critères.
Cela fait 10 boucles
Alors même avec le ScreenUpdating = False, cela prends du temps
Il n'y a pas un moyen de ne sélectionner que les cellules visibles?
Cdt
Jean-Marc
"LSteph" <lecocosteph@frite.fr> a écrit dans le message de news:
eYQDmfOIJHA.2408@TK2MSFTNGP04.phx.gbl...
Bonsoir;
sais-tu que le select n'est pas nécessaire?
Sub virBtruc()
Dim i As Long
Application.ScreenUpdating = False
For i = [a65536].End(xlUp).Row To 3 Step -1
If UCase(Left(Cells(i, 1), 1)) = "B" Then
Rows(i).EntireRow.Delete
End If
Next
End Sub
'lSteph
Jean-Marc a écrit :
Bonsoir,
en VBA (Excel 2003)
je filtre une zone, puis sélectionne toutes les lignes que je veux
supprimer
Exemple : je veux supprimer toutes les références qui commencent par un B
:
Selection.AutoFilter Field:=1, Criteria1:="=B*"
Range("A3").Select ' ligne des entetes de colonne
puis, et c'est là mon problème, je veux me positionner sur la première
ligne sélectionnée
ActiveCell.Offset(1, 0).Rows("1:1").EntireRow.Select ' ne marche
que si la première ligne est sélectionnée, sinon j'efface des lignes
bonnes
Merci beaucoup Steph, Cela marche, mais j'ai une dizaine de critères. Cela fait 10 boucles Alors même avec le ScreenUpdating = False, cela prends du temps Il n'y a pas un moyen de ne sélectionner que les cellules visibles?
Cdt Jean-Marc "LSteph" a écrit dans le message de news:
Bonsoir;
sais-tu que le select n'est pas nécessaire?
Sub virBtruc()
Dim i As Long Application.ScreenUpdating = False For i = [a65536].End(xlUp).Row To 3 Step -1 If UCase(Left(Cells(i, 1), 1)) = "B" Then Rows(i).EntireRow.Delete End If Next End Sub
'lSteph
Jean-Marc a écrit :
Bonsoir,
en VBA (Excel 2003) je filtre une zone, puis sélectionne toutes les lignes que je veux supprimer
Exemple : je veux supprimer toutes les références qui commencent par un B :
Selection.AutoFilter Field:=1, Criteria1:="=B*" Range("A3").Select ' ligne des entetes de colonne
puis, et c'est là mon problème, je veux me positionner sur la première ligne sélectionnée
ActiveCell.Offset(1, 0).Rows("1:1").EntireRow.Select ' ne marche que si la première ligne est sélectionnée, sinon j'efface des lignes bonnes
Merci beaucoup Steph, Cela marche, mais j'ai une dizaine de critères. Cela fait 10 boucles Alors même avec le ScreenUpdating = False, cela prends du temps Il n'y a pas un moyen de ne sélectionner que les cellules visibles?
Cdt Jean-Marc "LSteph" a écrit dans le message de news:
Bonsoir;
sais-tu que le select n'est pas nécessaire?
Sub virBtruc()
Dim i As Long Application.ScreenUpdating = False For i = [a65536].End(xlUp).Row To 3 Step -1 If UCase(Left(Cells(i, 1), 1)) = "B" Then Rows(i).EntireRow.Delete End If Next End Sub
'lSteph
Jean-Marc a écrit :
Bonsoir,
en VBA (Excel 2003) je filtre une zone, puis sélectionne toutes les lignes que je veux supprimer
Exemple : je veux supprimer toutes les références qui commencent par un B :
Selection.AutoFilter Field:=1, Criteria1:="=B*" Range("A3").Select ' ligne des entetes de colonne
puis, et c'est là mon problème, je veux me positionner sur la première ligne sélectionnée
ActiveCell.Offset(1, 0).Rows("1:1").EntireRow.Select ' ne marche que si la première ligne est sélectionnée, sinon j'efface des lignes bonnes
Merci beaucoup Steph,
Cela marche, mais j'ai une dizaine de critères.
Cela fait 10 boucles
Alors même avec le ScreenUpdating = False, cela prends du temps
Il n'y a pas un moyen de ne sélectionner que les cellules visibles?
Cdt
Jean-Marc
"LSteph" <lecocosteph@frite.fr> a écrit dans le message de news:
eYQDmfOIJHA.2408@TK2MSFTNGP04.phx.gbl...
Bonsoir;
sais-tu que le select n'est pas nécessaire?
Sub virBtruc()
Dim i As Long
Application.ScreenUpdating = False
For i = [a65536].End(xlUp).Row To 3 Step -1
If UCase(Left(Cells(i, 1), 1)) = "B" Then
Rows(i).EntireRow.Delete
End If
Next
End Sub
'lSteph
Jean-Marc a écrit :
Bonsoir,
en VBA (Excel 2003)
je filtre une zone, puis sélectionne toutes les lignes que je veux
supprimer
Exemple : je veux supprimer toutes les références qui commencent par un B
:
Selection.AutoFilter Field:=1, Criteria1:="=B*"
Range("A3").Select ' ligne des entetes de colonne
puis, et c'est là mon problème, je veux me positionner sur la première
ligne sélectionnée
ActiveCell.Offset(1, 0).Rows("1:1").EntireRow.Select ' ne marche
que si la première ligne est sélectionnée, sinon j'efface des lignes
bonnes
Merci beaucoup Steph, Cela marche, mais j'ai une dizaine de critères. Cela fait 10 boucles Alors même avec le ScreenUpdating = False, cela prends du temps Il n'y a pas un moyen de ne sélectionner que les cellules visibles?
Cdt Jean-Marc "LSteph" a écrit dans le message de news:
Bonsoir;
sais-tu que le select n'est pas nécessaire?
Sub virBtruc()
Dim i As Long Application.ScreenUpdating = False For i = [a65536].End(xlUp).Row To 3 Step -1 If UCase(Left(Cells(i, 1), 1)) = "B" Then Rows(i).EntireRow.Delete End If Next End Sub
'lSteph
Jean-Marc a écrit :
Bonsoir,
en VBA (Excel 2003) je filtre une zone, puis sélectionne toutes les lignes que je veux supprimer
Exemple : je veux supprimer toutes les références qui commencent par un B :
Selection.AutoFilter Field:=1, Criteria1:="=B*" Range("A3").Select ' ligne des entetes de colonne
puis, et c'est là mon problème, je veux me positionner sur la première ligne sélectionnée
ActiveCell.Offset(1, 0).Rows("1:1").EntireRow.Select ' ne marche que si la première ligne est sélectionnée, sinon j'efface des lignes bonnes
Merci beaucoup Steph, Cela marche, mais j'ai une dizaine de critères. Cela fait 10 boucles Alors même avec le ScreenUpdating = False, cela prends du temps Il n'y a pas un moyen de ne sélectionner que les cellules visibles?
Cdt Jean-Marc "LSteph" a écrit dans le message de news:
Bonsoir;
sais-tu que le select n'est pas nécessaire?
Sub virBtruc()
Dim i As Long Application.ScreenUpdating = False For i = [a65536].End(xlUp).Row To 3 Step -1 If UCase(Left(Cells(i, 1), 1)) = "B" Then Rows(i).EntireRow.Delete End If Next End Sub
'lSteph
Jean-Marc a écrit :
Bonsoir,
en VBA (Excel 2003) je filtre une zone, puis sélectionne toutes les lignes que je veux supprimer
Exemple : je veux supprimer toutes les références qui commencent par un B :
Selection.AutoFilter Field:=1, Criteria1:="=B*" Range("A3").Select ' ligne des entetes de colonne
puis, et c'est là mon problème, je veux me positionner sur la première ligne sélectionnée
ActiveCell.Offset(1, 0).Rows("1:1").EntireRow.Select ' ne marche que si la première ligne est sélectionnée, sinon j'efface des lignes bonnes
Merci beaucoup Steph,
Cela marche, mais j'ai une dizaine de critères.
Cela fait 10 boucles
Alors même avec le ScreenUpdating = False, cela prends du temps
Il n'y a pas un moyen de ne sélectionner que les cellules visibles?
Cdt
Jean-Marc
"LSteph" <lecocosteph@frite.fr> a écrit dans le message de news:
eYQDmfOIJHA.2408@TK2MSFTNGP04.phx.gbl...
Bonsoir;
sais-tu que le select n'est pas nécessaire?
Sub virBtruc()
Dim i As Long
Application.ScreenUpdating = False
For i = [a65536].End(xlUp).Row To 3 Step -1
If UCase(Left(Cells(i, 1), 1)) = "B" Then
Rows(i).EntireRow.Delete
End If
Next
End Sub
'lSteph
Jean-Marc a écrit :
Bonsoir,
en VBA (Excel 2003)
je filtre une zone, puis sélectionne toutes les lignes que je veux
supprimer
Exemple : je veux supprimer toutes les références qui commencent par un
B :
Selection.AutoFilter Field:=1, Criteria1:="=B*"
Range("A3").Select ' ligne des entetes de colonne
puis, et c'est là mon problème, je veux me positionner sur la première
ligne sélectionnée
ActiveCell.Offset(1, 0).Rows("1:1").EntireRow.Select ' ne
marche que si la première ligne est sélectionnée, sinon j'efface des
lignes bonnes
Merci beaucoup Steph, Cela marche, mais j'ai une dizaine de critères. Cela fait 10 boucles Alors même avec le ScreenUpdating = False, cela prends du temps Il n'y a pas un moyen de ne sélectionner que les cellules visibles?
Cdt Jean-Marc "LSteph" a écrit dans le message de news:
Bonsoir;
sais-tu que le select n'est pas nécessaire?
Sub virBtruc()
Dim i As Long Application.ScreenUpdating = False For i = [a65536].End(xlUp).Row To 3 Step -1 If UCase(Left(Cells(i, 1), 1)) = "B" Then Rows(i).EntireRow.Delete End If Next End Sub
'lSteph
Jean-Marc a écrit :
Bonsoir,
en VBA (Excel 2003) je filtre une zone, puis sélectionne toutes les lignes que je veux supprimer
Exemple : je veux supprimer toutes les références qui commencent par un B :
Selection.AutoFilter Field:=1, Criteria1:="=B*" Range("A3").Select ' ligne des entetes de colonne
puis, et c'est là mon problème, je veux me positionner sur la première ligne sélectionnée
ActiveCell.Offset(1, 0).Rows("1:1").EntireRow.Select ' ne marche que si la première ligne est sélectionnée, sinon j'efface des lignes bonnes
Bonjour à toutes et tous, Une de plus et assez rapide, à tester. Le critère est inscrit en cellule B1 (à modifier si nécessaire), un bouton issus de la barre formulaire et posé sur la feuille facilite la manoeuvre.
Sub Supprimer() Dim Plage As Range Dim Cellule As Range Dim Precedante As Range Dim Adresse As String
'adapter le nom de la feuille et la plage 'ici colonne A With Worksheets("Feuil1") Set Plage = .Range(.[A1], .[A65536].End(xlUp)) End With 'changer B1 (laisser les 2 "[]") si l'adresse 'de la cellule contenant le critère est autre Set Cellule = Plage.Find([B1], , xlValues) If Not Cellule Is Nothing Then Adresse = Cellule.Offset(-1, 0).Address On Error Resume Next Do Set Precedante = Cellule.Offset(-1, 0) Cellule.EntireRow.Delete Set Cellule = Plage.FindNext(Precedante) Loop While Cellule.Address <> Adresse End If
Set Plage = Nothing Set Cellule = Nothing Set Precedante = Nothing End Sub
Hervé.
"Jean-Marc" a écrit dans le message de news: 48de9ffa$0$871$
Bonsoir,
en VBA (Excel 2003) je filtre une zone, puis sélectionne toutes les lignes que je veux supprimer
Exemple : je veux supprimer toutes les références qui commencent par un B :
Selection.AutoFilter Field:=1, Criteria1:="=B*" Range("A3").Select ' ligne des entetes de colonne
puis, et c'est là mon problème, je veux me positionner sur la première ligne sélectionnée
ActiveCell.Offset(1, 0).Rows("1:1").EntireRow.Select ' ne marche que si la première ligne est sélectionnée, sinon j'efface des lignes bonnes
Bonjour à toutes et tous,
Une de plus et assez rapide, à tester.
Le critère est inscrit en cellule B1 (à modifier si nécessaire), un bouton
issus de la barre formulaire et posé sur la feuille facilite la manoeuvre.
Sub Supprimer()
Dim Plage As Range
Dim Cellule As Range
Dim Precedante As Range
Dim Adresse As String
'adapter le nom de la feuille et la plage
'ici colonne A
With Worksheets("Feuil1")
Set Plage = .Range(.[A1], .[A65536].End(xlUp))
End With
'changer B1 (laisser les 2 "[]") si l'adresse
'de la cellule contenant le critère est autre
Set Cellule = Plage.Find([B1], , xlValues)
If Not Cellule Is Nothing Then
Adresse = Cellule.Offset(-1, 0).Address
On Error Resume Next
Do
Set Precedante = Cellule.Offset(-1, 0)
Cellule.EntireRow.Delete
Set Cellule = Plage.FindNext(Precedante)
Loop While Cellule.Address <> Adresse
End If
Set Plage = Nothing
Set Cellule = Nothing
Set Precedante = Nothing
End Sub
Hervé.
"Jean-Marc" <jean-marc.morisot-spam@wanadoo.fr> a écrit dans le message de
news: 48de9ffa$0$871$ba4acef3@news.orange.fr...
Bonsoir,
en VBA (Excel 2003)
je filtre une zone, puis sélectionne toutes les lignes que je veux
supprimer
Exemple : je veux supprimer toutes les références qui commencent par un B
:
Selection.AutoFilter Field:=1, Criteria1:="=B*"
Range("A3").Select ' ligne des entetes de colonne
puis, et c'est là mon problème, je veux me positionner sur la première
ligne sélectionnée
ActiveCell.Offset(1, 0).Rows("1:1").EntireRow.Select ' ne marche
que si la première ligne est sélectionnée, sinon j'efface des lignes
bonnes
Bonjour à toutes et tous, Une de plus et assez rapide, à tester. Le critère est inscrit en cellule B1 (à modifier si nécessaire), un bouton issus de la barre formulaire et posé sur la feuille facilite la manoeuvre.
Sub Supprimer() Dim Plage As Range Dim Cellule As Range Dim Precedante As Range Dim Adresse As String
'adapter le nom de la feuille et la plage 'ici colonne A With Worksheets("Feuil1") Set Plage = .Range(.[A1], .[A65536].End(xlUp)) End With 'changer B1 (laisser les 2 "[]") si l'adresse 'de la cellule contenant le critère est autre Set Cellule = Plage.Find([B1], , xlValues) If Not Cellule Is Nothing Then Adresse = Cellule.Offset(-1, 0).Address On Error Resume Next Do Set Precedante = Cellule.Offset(-1, 0) Cellule.EntireRow.Delete Set Cellule = Plage.FindNext(Precedante) Loop While Cellule.Address <> Adresse End If
Set Plage = Nothing Set Cellule = Nothing Set Precedante = Nothing End Sub
Hervé.
"Jean-Marc" a écrit dans le message de news: 48de9ffa$0$871$
Bonsoir,
en VBA (Excel 2003) je filtre une zone, puis sélectionne toutes les lignes que je veux supprimer
Exemple : je veux supprimer toutes les références qui commencent par un B :
Selection.AutoFilter Field:=1, Criteria1:="=B*" Range("A3").Select ' ligne des entetes de colonne
puis, et c'est là mon problème, je veux me positionner sur la première ligne sélectionnée
ActiveCell.Offset(1, 0).Rows("1:1").EntireRow.Select ' ne marche que si la première ligne est sélectionnée, sinon j'efface des lignes bonnes