Bonjour,
je voudrais supprimer, sur la feuille "ALPHA" de mon tableau, toutes les
lignes qui contiennent un chiffre supérieur à 100000 inscrit dans la colonne
C.
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
FFO
Salut à toi Je te propose ceci :
Sheets("ALPHA").Range("C65535").End(xlUp).Select Do While ActiveCell.Address <> Range("C1").Address If ActiveCell > 100000 Then ActiveCell.EntireRow.Delete End If ActiveCell.Offset(-1, 0).Select Loop If ActiveCell > 6800 Then ActiveCell.EntireRow.Delete End If
Qu'en penses tu ???
Bonjour, je voudrais supprimer, sur la feuille "ALPHA" de mon tableau, toutes les lignes qui contiennent un chiffre supérieur à 100000 inscrit dans la colonne C.
Je vous remercie. Yann
Salut à toi
Je te propose ceci :
Sheets("ALPHA").Range("C65535").End(xlUp).Select
Do While ActiveCell.Address <> Range("C1").Address
If ActiveCell > 100000 Then
ActiveCell.EntireRow.Delete
End If
ActiveCell.Offset(-1, 0).Select
Loop
If ActiveCell > 6800 Then
ActiveCell.EntireRow.Delete
End If
Qu'en penses tu ???
Bonjour,
je voudrais supprimer, sur la feuille "ALPHA" de mon tableau, toutes les
lignes qui contiennent un chiffre supérieur à 100000 inscrit dans la colonne
C.
Sheets("ALPHA").Range("C65535").End(xlUp).Select Do While ActiveCell.Address <> Range("C1").Address If ActiveCell > 100000 Then ActiveCell.EntireRow.Delete End If ActiveCell.Offset(-1, 0).Select Loop If ActiveCell > 6800 Then ActiveCell.EntireRow.Delete End If
Qu'en penses tu ???
Bonjour, je voudrais supprimer, sur la feuille "ALPHA" de mon tableau, toutes les lignes qui contiennent un chiffre supérieur à 100000 inscrit dans la colonne C.
Je vous remercie. Yann
Sunburn
Re, en fait, là il me supprime beaucoup plus de ligne, et surtout des lignes où la cellule C est vide ou avec des caractères non-chiffre. Pour le brider plus, on peut ptèt lui dire de supprimer les lignes où la cellule C est comprise entre 100000 et 999999. je vais essayer,
Ou faut-il travailler autrement? : (En fait, c'est pour supprimer les lignes que j'ai créé avec la macro que tu m'a aidé la semaine dernière). Donc je sais pas si ça marche de supprimer ce qu'une macro a créé, même à des dates différentes, après avoir travaillé sur le fichier et enregistrment successifs (mais sans modifier ce qui avait été copié-collé par macro), je sais pas. Si oui, ça serait sûrment plus simple. Merci. Yann
Salut à toi Je te propose ceci :
Sheets("ALPHA").Range("C65535").End(xlUp).Select Do While ActiveCell.Address <> Range("C1").Address If ActiveCell > 100000 Then ActiveCell.EntireRow.Delete End If ActiveCell.Offset(-1, 0).Select Loop If ActiveCell > 6800 Then ActiveCell.EntireRow.Delete End If
Qu'en penses tu ???
Re,
en fait, là il me supprime beaucoup plus de ligne, et surtout des lignes où
la cellule C est vide ou avec des caractères non-chiffre.
Pour le brider plus, on peut ptèt lui dire de supprimer les lignes où la
cellule C est comprise entre 100000 et 999999.
je vais essayer,
Ou faut-il travailler autrement? :
(En fait, c'est pour supprimer les lignes que j'ai créé avec la macro que tu
m'a aidé la semaine dernière). Donc je sais pas si ça marche de supprimer ce
qu'une macro a créé, même à des dates différentes, après avoir travaillé sur
le fichier et enregistrment successifs (mais sans modifier ce qui avait été
copié-collé par macro), je sais pas. Si oui, ça serait sûrment plus simple.
Merci.
Yann
Salut à toi
Je te propose ceci :
Sheets("ALPHA").Range("C65535").End(xlUp).Select
Do While ActiveCell.Address <> Range("C1").Address
If ActiveCell > 100000 Then
ActiveCell.EntireRow.Delete
End If
ActiveCell.Offset(-1, 0).Select
Loop
If ActiveCell > 6800 Then
ActiveCell.EntireRow.Delete
End If
Re, en fait, là il me supprime beaucoup plus de ligne, et surtout des lignes où la cellule C est vide ou avec des caractères non-chiffre. Pour le brider plus, on peut ptèt lui dire de supprimer les lignes où la cellule C est comprise entre 100000 et 999999. je vais essayer,
Ou faut-il travailler autrement? : (En fait, c'est pour supprimer les lignes que j'ai créé avec la macro que tu m'a aidé la semaine dernière). Donc je sais pas si ça marche de supprimer ce qu'une macro a créé, même à des dates différentes, après avoir travaillé sur le fichier et enregistrment successifs (mais sans modifier ce qui avait été copié-collé par macro), je sais pas. Si oui, ça serait sûrment plus simple. Merci. Yann
Salut à toi Je te propose ceci :
Sheets("ALPHA").Range("C65535").End(xlUp).Select Do While ActiveCell.Address <> Range("C1").Address If ActiveCell > 100000 Then ActiveCell.EntireRow.Delete End If ActiveCell.Offset(-1, 0).Select Loop If ActiveCell > 6800 Then ActiveCell.EntireRow.Delete End If
Qu'en penses tu ???
FFO
Je pensais que la colonne ne comportait que des chiffres Essaye donc plutôt ce code :
Sheets("Onglet").Range("C65535").End(xlUp).Select Do While ActiveCell.Address <> Range("C1").Address If VarType(ActiveCell.Value) <> vbString And ActiveCell.Value > 6800 Then ActiveCell.EntireRow.Delete End If ActiveCell.Offset(-1, 0).Select Loop If VarType(ActiveCell.Value) <> vbString And ActiveCell.Value > 6800 Then ActiveCell.EntireRow.Delete End If
Si malgré tout des cellules vides de la colonne C disparraissent tu peux remplacer les instructions : If VarType(ActiveCell.Value) <> vbString And ActiveCell.Value > 6800 Then par If ActiveCell<>"" and VarType(ActiveCell.Value) <> vbString And ActiveCell.Value > 6800 Then mais me concernant aprés test ce n'est pas utile
Re, en fait, là il me supprime beaucoup plus de ligne, et surtout des lignes où la cellule C est vide ou avec des caractères non-chiffre. Pour le brider plus, on peut ptèt lui dire de supprimer les lignes où la cellule C est comprise entre 100000 et 999999. je vais essayer,
Ou faut-il travailler autrement? : (En fait, c'est pour supprimer les lignes que j'ai créé avec la macro que tu m'a aidé la semaine dernière). Donc je sais pas si ça marche de supprimer ce qu'une macro a créé, même à des dates différentes, après avoir travaillé sur le fichier et enregistrment successifs (mais sans modifier ce qui avait été copié-collé par macro), je sais pas. Si oui, ça serait sûrment plus simple. Merci. Yann
Salut à toi Je te propose ceci :
Sheets("ALPHA").Range("C65535").End(xlUp).Select Do While ActiveCell.Address <> Range("C1").Address If ActiveCell > 100000 Then ActiveCell.EntireRow.Delete End If ActiveCell.Offset(-1, 0).Select Loop If ActiveCell > 6800 Then ActiveCell.EntireRow.Delete End If
Qu'en penses tu ???
Je pensais que la colonne ne comportait que des chiffres
Essaye donc plutôt ce code :
Sheets("Onglet").Range("C65535").End(xlUp).Select
Do While ActiveCell.Address <> Range("C1").Address
If VarType(ActiveCell.Value) <> vbString And ActiveCell.Value > 6800 Then
ActiveCell.EntireRow.Delete
End If
ActiveCell.Offset(-1, 0).Select
Loop
If VarType(ActiveCell.Value) <> vbString And ActiveCell.Value > 6800 Then
ActiveCell.EntireRow.Delete
End If
Si malgré tout des cellules vides de la colonne C disparraissent tu peux
remplacer les instructions :
If VarType(ActiveCell.Value) <> vbString And ActiveCell.Value > 6800 Then
par
If ActiveCell<>"" and VarType(ActiveCell.Value) <> vbString And
ActiveCell.Value > 6800 Then
mais me concernant aprés test ce n'est pas utile
Re,
en fait, là il me supprime beaucoup plus de ligne, et surtout des lignes où
la cellule C est vide ou avec des caractères non-chiffre.
Pour le brider plus, on peut ptèt lui dire de supprimer les lignes où la
cellule C est comprise entre 100000 et 999999.
je vais essayer,
Ou faut-il travailler autrement? :
(En fait, c'est pour supprimer les lignes que j'ai créé avec la macro que tu
m'a aidé la semaine dernière). Donc je sais pas si ça marche de supprimer ce
qu'une macro a créé, même à des dates différentes, après avoir travaillé sur
le fichier et enregistrment successifs (mais sans modifier ce qui avait été
copié-collé par macro), je sais pas. Si oui, ça serait sûrment plus simple.
Merci.
Yann
Salut à toi
Je te propose ceci :
Sheets("ALPHA").Range("C65535").End(xlUp).Select
Do While ActiveCell.Address <> Range("C1").Address
If ActiveCell > 100000 Then
ActiveCell.EntireRow.Delete
End If
ActiveCell.Offset(-1, 0).Select
Loop
If ActiveCell > 6800 Then
ActiveCell.EntireRow.Delete
End If
Je pensais que la colonne ne comportait que des chiffres Essaye donc plutôt ce code :
Sheets("Onglet").Range("C65535").End(xlUp).Select Do While ActiveCell.Address <> Range("C1").Address If VarType(ActiveCell.Value) <> vbString And ActiveCell.Value > 6800 Then ActiveCell.EntireRow.Delete End If ActiveCell.Offset(-1, 0).Select Loop If VarType(ActiveCell.Value) <> vbString And ActiveCell.Value > 6800 Then ActiveCell.EntireRow.Delete End If
Si malgré tout des cellules vides de la colonne C disparraissent tu peux remplacer les instructions : If VarType(ActiveCell.Value) <> vbString And ActiveCell.Value > 6800 Then par If ActiveCell<>"" and VarType(ActiveCell.Value) <> vbString And ActiveCell.Value > 6800 Then mais me concernant aprés test ce n'est pas utile
Re, en fait, là il me supprime beaucoup plus de ligne, et surtout des lignes où la cellule C est vide ou avec des caractères non-chiffre. Pour le brider plus, on peut ptèt lui dire de supprimer les lignes où la cellule C est comprise entre 100000 et 999999. je vais essayer,
Ou faut-il travailler autrement? : (En fait, c'est pour supprimer les lignes que j'ai créé avec la macro que tu m'a aidé la semaine dernière). Donc je sais pas si ça marche de supprimer ce qu'une macro a créé, même à des dates différentes, après avoir travaillé sur le fichier et enregistrment successifs (mais sans modifier ce qui avait été copié-collé par macro), je sais pas. Si oui, ça serait sûrment plus simple. Merci. Yann
Salut à toi Je te propose ceci :
Sheets("ALPHA").Range("C65535").End(xlUp).Select Do While ActiveCell.Address <> Range("C1").Address If ActiveCell > 100000 Then ActiveCell.EntireRow.Delete End If ActiveCell.Offset(-1, 0).Select Loop If ActiveCell > 6800 Then ActiveCell.EntireRow.Delete End If
Qu'en penses tu ???
MichDenis
Un petit exemple en utilisant le filtre automatique. J'ai supposé que la colonne C avait un en-tête de colonne
'--------------------------------- Sub test()
Application.ScreenUpdating = False With Worksheets("Feuil1") ' Nom Feuille à adapter With .Range("C1:C" & .Range("C65536").End(xlUp).Row) .AutoFilter field:=1, Criteria1:=">" & 100000 End With With .Range("_FilterDatabase") .Resize(.Range("_FilterDatabase") _ .Rows.Count - 1).Offset(1). _ SpecialCells(xlCellTypeVisible) _ .EntireRow.Delete .AutoFilter End With End With End Sub '---------------------------------
"Sunburn" a écrit dans le message de news:
Bonjour, je voudrais supprimer, sur la feuille "ALPHA" de mon tableau, toutes les lignes qui contiennent un chiffre supérieur à 100000 inscrit dans la colonne C.
Je vous remercie. Yann
Un petit exemple en utilisant le filtre automatique.
J'ai supposé que la colonne C avait un en-tête de colonne
'---------------------------------
Sub test()
Application.ScreenUpdating = False
With Worksheets("Feuil1") ' Nom Feuille à adapter
With .Range("C1:C" & .Range("C65536").End(xlUp).Row)
.AutoFilter field:=1, Criteria1:=">" & 100000
End With
With .Range("_FilterDatabase")
.Resize(.Range("_FilterDatabase") _
.Rows.Count - 1).Offset(1). _
SpecialCells(xlCellTypeVisible) _
.EntireRow.Delete
.AutoFilter
End With
End With
End Sub
'---------------------------------
"Sunburn" <Sunburn@discussions.microsoft.com> a écrit dans le message de news:
EB58743A-2695-423F-A695-701848C7CB8D@microsoft.com...
Bonjour,
je voudrais supprimer, sur la feuille "ALPHA" de mon tableau, toutes les
lignes qui contiennent un chiffre supérieur à 100000 inscrit dans la colonne
C.
Un petit exemple en utilisant le filtre automatique. J'ai supposé que la colonne C avait un en-tête de colonne
'--------------------------------- Sub test()
Application.ScreenUpdating = False With Worksheets("Feuil1") ' Nom Feuille à adapter With .Range("C1:C" & .Range("C65536").End(xlUp).Row) .AutoFilter field:=1, Criteria1:=">" & 100000 End With With .Range("_FilterDatabase") .Resize(.Range("_FilterDatabase") _ .Rows.Count - 1).Offset(1). _ SpecialCells(xlCellTypeVisible) _ .EntireRow.Delete .AutoFilter End With End With End Sub '---------------------------------
"Sunburn" a écrit dans le message de news:
Bonjour, je voudrais supprimer, sur la feuille "ALPHA" de mon tableau, toutes les lignes qui contiennent un chiffre supérieur à 100000 inscrit dans la colonne C.
Je vous remercie. Yann
Sunburn
Re, en fait, j'ai essayer avec ce code et ça marche, mais ce n'est peut être pas très logique : --- Sub SUPPRIMEBAL() Sheets("C").Range("C65535").End(xlUp).Select Do While ActiveCell.Address <> Range("C1").Address If ActiveCell > 100000 And ActiveCell < 999999999 Then ActiveCell.EntireRow.Delete End If ActiveCell.Offset(-1, 0).Select Loop End Sub ---- j'ai supprimer le deuxième IF car il supprimait la première ligne de ma feuille. Merci pour ton aide. Yann
Je pensais que la colonne ne comportait que des chiffres Essaye donc plutôt ce code :
Sheets("Onglet").Range("C65535").End(xlUp).Select Do While ActiveCell.Address <> Range("C1").Address If VarType(ActiveCell.Value) <> vbString And ActiveCell.Value > 6800 Then ActiveCell.EntireRow.Delete End If ActiveCell.Offset(-1, 0).Select Loop If VarType(ActiveCell.Value) <> vbString And ActiveCell.Value > 6800 Then ActiveCell.EntireRow.Delete End If
Si malgré tout des cellules vides de la colonne C disparraissent tu peux remplacer les instructions : If VarType(ActiveCell.Value) <> vbString And ActiveCell.Value > 6800 Then par If ActiveCell<>"" and VarType(ActiveCell.Value) <> vbString And ActiveCell.Value > 6800 Then mais me concernant aprés test ce n'est pas utile
Re,
en fait, j'ai essayer avec ce code et ça marche, mais ce n'est peut être pas
très logique :
---
Sub SUPPRIMEBAL()
Sheets("C").Range("C65535").End(xlUp).Select
Do While ActiveCell.Address <> Range("C1").Address
If ActiveCell > 100000 And ActiveCell < 999999999 Then
ActiveCell.EntireRow.Delete
End If
ActiveCell.Offset(-1, 0).Select
Loop
End Sub
----
j'ai supprimer le deuxième IF car il supprimait la première ligne de ma
feuille.
Merci pour ton aide.
Yann
Je pensais que la colonne ne comportait que des chiffres
Essaye donc plutôt ce code :
Sheets("Onglet").Range("C65535").End(xlUp).Select
Do While ActiveCell.Address <> Range("C1").Address
If VarType(ActiveCell.Value) <> vbString And ActiveCell.Value > 6800 Then
ActiveCell.EntireRow.Delete
End If
ActiveCell.Offset(-1, 0).Select
Loop
If VarType(ActiveCell.Value) <> vbString And ActiveCell.Value > 6800 Then
ActiveCell.EntireRow.Delete
End If
Si malgré tout des cellules vides de la colonne C disparraissent tu peux
remplacer les instructions :
If VarType(ActiveCell.Value) <> vbString And ActiveCell.Value > 6800 Then
par
If ActiveCell<>"" and VarType(ActiveCell.Value) <> vbString And
ActiveCell.Value > 6800 Then
mais me concernant aprés test ce n'est pas utile
Re, en fait, j'ai essayer avec ce code et ça marche, mais ce n'est peut être pas très logique : --- Sub SUPPRIMEBAL() Sheets("C").Range("C65535").End(xlUp).Select Do While ActiveCell.Address <> Range("C1").Address If ActiveCell > 100000 And ActiveCell < 999999999 Then ActiveCell.EntireRow.Delete End If ActiveCell.Offset(-1, 0).Select Loop End Sub ---- j'ai supprimer le deuxième IF car il supprimait la première ligne de ma feuille. Merci pour ton aide. Yann
Je pensais que la colonne ne comportait que des chiffres Essaye donc plutôt ce code :
Sheets("Onglet").Range("C65535").End(xlUp).Select Do While ActiveCell.Address <> Range("C1").Address If VarType(ActiveCell.Value) <> vbString And ActiveCell.Value > 6800 Then ActiveCell.EntireRow.Delete End If ActiveCell.Offset(-1, 0).Select Loop If VarType(ActiveCell.Value) <> vbString And ActiveCell.Value > 6800 Then ActiveCell.EntireRow.Delete End If
Si malgré tout des cellules vides de la colonne C disparraissent tu peux remplacer les instructions : If VarType(ActiveCell.Value) <> vbString And ActiveCell.Value > 6800 Then par If ActiveCell<>"" and VarType(ActiveCell.Value) <> vbString And ActiveCell.Value > 6800 Then mais me concernant aprés test ce n'est pas utile
HD
Une suppression de lignes selon des critères et sans boucle !!! ça doit être bien plus rapide qu'avec boucle...
Excellent cette fonction :-O
-- @+ HD
Une suppression de lignes selon des critères et sans boucle !!! ça doit être
bien plus rapide qu'avec boucle...