IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Supprimer des lignes sous conditions selon résultat fonction [Toutes versions]


Sujet :

Macros et VBA Excel

  1. #1
    Membre habitué
    Homme Profil pro
    Chargé d'Ingénierie et d'Analyses en Ressources Humaines
    Inscrit en
    Novembre 2012
    Messages
    63
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chargé d'Ingénierie et d'Analyses en Ressources Humaines
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2012
    Messages : 63
    Points : 169
    Points
    169
    Par défaut Supprimer des lignes sous conditions selon résultat fonction
    Bonjour,

    Je cherche à faire une boucle supprimer les lignes qui renvoient le texte "OUI" ou "PEUT-ETRE" dans des cellules avec une fonction "RECHERCHEV" à l'origine (voir fichiez joint).

    J'ai essayé ce code mais ça ne fonctionne pas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Sub SupLigneOui()
       Application.ScreenUpdating = False
       For J = [A65000].End(xlUp).Row To 1 Step -1
          If Left(Cells(J, 1), 4) = "FAUX" Then Rows(J).Delete
       Next J
    End Sub
    Merci de votre réponse,
    Chtik
    Fichiers attachés Fichiers attachés

  2. #2
    Expert éminent sénior Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Points : 31 877
    Points
    31 877
    Par défaut
    Testé sur ton fichier
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Sub SupLigneOui()
    Dim i As Long
     
    Application.ScreenUpdating = False
    With Worksheets("Feuil1")
        For i = .Cells(.Rows.Count, "J").End(xlUp).Row To 8 Step -1
            If .Range("J" & i) = "OUI" Or .Range("J" & i) = "PEUT-ETRE" Then .Rows(i).Delete
        Next i
    End With
    End Sub

  3. #3
    Membre habitué
    Homme Profil pro
    Chargé d'Ingénierie et d'Analyses en Ressources Humaines
    Inscrit en
    Novembre 2012
    Messages
    63
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chargé d'Ingénierie et d'Analyses en Ressources Humaines
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2012
    Messages : 63
    Points : 169
    Points
    169
    Par défaut
    Bonjour,

    Merci pour ce premier code, il m'a bien aidé.

    Cependant, je ne parviens pas à l'adapter pour qu'il fonctionne aussi avec la combinaison de fonction suivante :
    =SI(RECHERCHEV(...);VRAI;FAUX)

    Auriez-vous la solution !?
    Fichiers attachés Fichiers attachés

  4. #4
    Expert éminent sénior Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Points : 31 877
    Points
    31 877
    Par défaut
    Et que veux tu supprimer dans ce cas?
    Une question bien posée c'est 90% de la réponse

  5. #5
    Membre habitué
    Homme Profil pro
    Chargé d'Ingénierie et d'Analyses en Ressources Humaines
    Inscrit en
    Novembre 2012
    Messages
    63
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chargé d'Ingénierie et d'Analyses en Ressources Humaines
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2012
    Messages : 63
    Points : 169
    Points
    169
    Par défaut
    Je veux supprimer le VRAI et le #N/A, s'il y en a, sur les lignes 2 à 2000 dans le fichier final.

  6. #6
    Expert éminent sénior Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Points : 31 877
    Points
    31 877
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Sub SupLigneVraiEtErreur()
    Dim i As Long
     
    Application.ScreenUpdating = False
    With Worksheets("Feuil1")
        For i = .Cells(.Rows.Count, "J").End(xlUp).Row To 8 Step -1
            If .Range("J" & i).Text = "VRAI" Or IsError(.Range("J" & i)) Then .Rows(i).Delete
        Next i
    End With
    End Sub

  7. #7
    Membre habitué
    Homme Profil pro
    Chargé d'Ingénierie et d'Analyses en Ressources Humaines
    Inscrit en
    Novembre 2012
    Messages
    63
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chargé d'Ingénierie et d'Analyses en Ressources Humaines
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2012
    Messages : 63
    Points : 169
    Points
    169
    Par défaut
    Merci, c'est tout à fait ça.

    J'ai cependant une petite question supplémentaire.
    Lorsque j'applique la Macro dans mon fichier final, le traitement prend environ 2 minute pour traiter les 2000 lignes.

    N'y aurait-il pas un moyen d'accélérer le traitement ?

  8. #8
    Expert éminent sénior Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Points : 31 877
    Points
    31 877
    Par défaut
    Essaies comme ceci si tu peux grignoter quelques secondes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Sub SupLigneVraiEtErreur()
    Dim i As Long
     
    Application.ScreenUpdating = False
    Application.Calculation = xlCalculationManual
    With Worksheets("Feuil1")
        For i = .Cells(.Rows.Count, "J").End(xlUp).Row To 8 Step -1
            If .Range("J" & i).Text = "VRAI" Or IsError(.Range("J" & i)) Then .Rows(i).Delete
        Next i
    End With
    Application.Calculation = xlCalculationAutomatic
    End Sub

  9. #9
    Membre habitué
    Homme Profil pro
    Chargé d'Ingénierie et d'Analyses en Ressources Humaines
    Inscrit en
    Novembre 2012
    Messages
    63
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chargé d'Ingénierie et d'Analyses en Ressources Humaines
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2012
    Messages : 63
    Points : 169
    Points
    169
    Par défaut
    Merci beaucoup, c'est ce qu'il me fallait.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2007] Macro pour supprimer des lignes sous conditions de valeur de cellule
    Par frisco75 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 09/09/2011, 14h33
  2. [XL-2007] Code VBA pour supprimer des lignes sous condition - problème
    Par PeaceMaker dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 08/06/2011, 09h09
  3. Comment supprimer des lignes d'un fichier en fonction d'un autre fichier
    Par Ohemeg dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 21/04/2009, 13h56
  4. copier des lignes sous conditions (dans 2 colonnes différentes)
    Par olive08 dans le forum Macros et VBA Excel
    Réponses: 18
    Dernier message: 12/10/2007, 14h44
  5. Suppression des lignes sous condition multiple
    Par baptbapt dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 20/06/2007, 16h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo