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 :

Code VBA pour supprimer une ligne si cellule qui ne contient pas la valeur x ou y ou z


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Femme Profil pro
    Analyse système
    Inscrit en
    Novembre 2024
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Analyse système
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2024
    Messages : 1
    Par défaut Code VBA pour supprimer une ligne si cellule qui ne contient pas la valeur x ou y ou z
    Bonjour,

    J'aurais besoin d'aide pour trouver la bonne formulation à ma requête : je voudrais créer une macro qui supprime la ligne entière lorsqu'une cellule de la colonne C ne contient pas la valeur X ou Y ou Z. J'ai commencé ainsi mais je galère un peu et je vois mal comment avancer :

    1er essai :

    Sub supprimer_ligne_fonction_valeur_cellule()
    For Each cellule In Range("C2:C2000")
    InStr(X or Y or Z) Then cellule.EntireRow.Delete
    Next
    End Sub

    2ème essai qui ne va pas non plus :

    Sub supprimer_ligne_fonction_valeur_cellule()
    For Each cellule In Range("C2:C2000")
    InStr(X,Y,Z) Go To cellule.EntireRow.Delete
    Next
    End Sub

    Quelle(s) correction(s) me conseillez-vous ?

    Un grand merci pour votre aide !

  2. #2
    Membre Expert Avatar de Nain porte koi
    Homme Profil pro
    peu importe
    Inscrit en
    Novembre 2023
    Messages
    1 223
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : peu importe

    Informations forums :
    Inscription : Novembre 2023
    Messages : 1 223
    Par défaut
    Hello,

    pour supprimer des lignes il faut toujours partie de la fin, sinon il y a un décalage à chaque suppression.
    Essayez ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
        For i = 2000 To 2 Step -1
            Contenu = Cells(i, "C").Value
            X = InStr(1, Contenu, "X", vbTextCompare)
            Y = InStr(1, Contenu, "Y", vbTextCompare)
            Z = InStr(1, Contenu, "Z", vbTextCompare)
            If X + Y + Z = 0 Then
                Rows(i).Delete
            End If
        Next i

  3. #3
    Expert confirmé Avatar de BENNASR
    Homme Profil pro
    Responsable comptable & financier
    Inscrit en
    Décembre 2013
    Messages
    2 974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Responsable comptable & financier
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2013
    Messages : 2 974
    Par défaut
    Bonjour
    à mon modeste avis le plus simple et avec zéro codage est powerquery
    mettre tes données sous forme tableau structuré
    puis filtre /filtre textuelle/ne contient pas et puis tu télécharge les données

  4. #4
    Membre Expert Avatar de Nain porte koi
    Homme Profil pro
    peu importe
    Inscrit en
    Novembre 2023
    Messages
    1 223
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : peu importe

    Informations forums :
    Inscription : Novembre 2023
    Messages : 1 223
    Par défaut
    @BENNASR vous avez raison, j'aurais même dit qu'un simple tableau filtré aurait suffit, mais bon, si le demandeur veut des macros...

Discussions similaires

  1. [XL-2013] Macro VBA pour supprimer une ligne entière
    Par Riahi's dans le forum Macros et VBA Excel
    Réponses: 16
    Dernier message: 22/12/2016, 12h57
  2. pb code vba pour supprimer plusieurs lignes
    Par worfabs75 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 21/10/2013, 09h55
  3. pb code vba pour supprimer plusieur lignes
    Par worfabs75 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 16/10/2013, 12h01
  4. [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
  5. [VBA Excel] Userform pour supprimer une ligne précise
    Par Viper7 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 15/06/2006, 14h32

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