Macro suppr de ligne en fction de nombre

  • Initiateur de la discussion Initiateur de la discussion DPX
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

D

DPX

Guest
Bonjour,

Je recherche un macro qui trouve dans la colonne B les valeurs:
inférieure à 54300
entre 5430 et 70000
puis supérieures à 899000

Et qui supprime les lignes correcpondantes.

Une PJ 😱
 

Pièces jointes

Re : Macro suppr de ligne en fction de nombre

Salut
T'as raison j'ai mal expliqué les critères.

Dans la colonne B, il y a toute une liste de nombre.
Les seuls lignes que je veux garder sont :
Entre 5400 et 5440
Entre 700000 et 899000
Toutes les autres lignes pourront être suppr.
Le vrai fichier par de 0 jusqu'à 59000 lignes.
...
@
 
Re : Macro suppr de ligne en fction de nombre

Bonjour DPX, bonjour le forum,

Peut-être comme ça :
Code:
Sub Macro1()
Dim dl As Integer 'déclare la variable dl (Dernière Ligne)
Dim pl As Range 'déclare la variable pl (PLage)

With Sheets("Feuil1") 'prend en compte l'onglet "Feuil1"
    dl = .Cells(Application.Rows.Count, 2).End(xlUp).Row 'définit la dernière ligne édité  dl de la colonne B
    Set pl = .Range("B2:B" & dl) 'définit la plage pl
    On Error Resume Next 'gestion des erreurs (passe à la ligne suivante si rencontre une erreur)
    .Range("A1").AutoFilter Field:=2, Criteria1:="<54300" 'filtre sur premier critère (valeur<54300)
    pl.SpecialCells(xlCellTypeVisible).EntireRow.Delete 'efface les lignes visible de la plage pl (provoque une erreur si aucune ligne visible)
    If Err <> 0 Then Err = 0 'si une erreur a été générée, annule l'erreur
    .ShowAllData 'affiche toutes les lignes
    .Range("A1").AutoFilter Field:=2, Criteria1:=">5430", Operator:=xlAnd, Criteria2:="<70000" 'filtre sur second critère (5430<valeur>70000)
    pl.SpecialCells(xlCellTypeVisible).EntireRow.Delete 'efface les lignes visible de la plage pl (provoque une erreur si aucune ligne visible)
    If Err <> 0 Then Err = 0 'si une erreur a été générée, annule l'erreur
    .ShowAllData 'affiche toutes les lignes
    .Range("A1").AutoFilter Field:=2, Criteria1:=">899000" 'filtre sur troisième critère (valeur>899000)
    pl.SpecialCells(xlCellTypeVisible).EntireRow.Delete 'efface les lignes visible de la plage pl (provoque une erreur si aucune ligne visible)
    If Err <> 0 Then Err = 0 'si une erreur a été générée, annule l'erreur
    .ShowAllData 'affiche toutes les lignes
    .Range("A1").AutoFilter 'supprime le filtre automatique
End With 'fin de la prise en compte de l'onglet "Feuil1"
End Sub
Le fichier :
 

Pièces jointes

Re : Macro suppr de ligne en fction de nombre

Bonjour DPX, Gorfael, bonjour le forum,

Oui je me doutais aussi d'une blague de ce style ! Le fichier proposé ne tient pas compte de ton changement de cao. tu adapteras....
 
Re : Macro suppr de ligne en fction de nombre

Robert j'ai réussi à l'adapter merci.

Peux ton rendre ta macro plus souple en lui attribuant un bouton qui demande quelles sont les valeurs à supprimer?
🙄
 
Re : Macro suppr de ligne en fction de nombre

Bonjour le Fil, bonjour le forum,

Peux ton rendre ta macro plus souple en lui attribuant un bouton qui demande quelles sont les valeurs à supprimer?
🙄


Peux-tu poser la bonne question en début de fil ?....
En pièce jointe la version 2 avec une UserForm :
Dans la TextBox1 tu tapes le critère avec un des tois opérateurs, <>=. Par exemple : >10000 ou =4383 ou <60000. Les lignes correspondant au critère seront supprimées...
 

Pièces jointes

Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
12
Affichages
361
Retour