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 une ligne excel apres un test IF


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Avatar de yoyo3d
    Homme Profil pro
    Administratif
    Inscrit en
    Avril 2002
    Messages
    421
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Administratif
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Avril 2002
    Messages : 421
    Par défaut Supprimer une ligne excel apres un test IF
    Bonjour à tous, tout d'abord, j'espere que je poste sur le bon forum...

    Je ne connais pas vraiment visual basic pour excel, mais j'essaye d'automatiser certaines taches sous excel 2000 .
    Voilà mon soucis, je récupère des listes d'enregistrement issues d'un terminal téléphonique, chaque ligne correspond à un appel et je dois d'abord supprimer les lignes qui ne m'intéressent pas…
    En fait tout ce qui n'est pas identique à "xx" ou "yy" ou "zz"dans la colonne A, je souhaite le supprimer.
    J'ai essayer de faire un test if( testvaleur; valeur si vrai;valeur si faux), mais dans la valeur si faux, je ne peux pas supprimer la ligne qui contient ma valeur fausse.

    Voilà une partie de mon code:

    Ici, je teste pour voir si la cellule contient une valeur numérique ou pas( apres transformation par mes sois…)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Range("A2").Select
    ActiveCell.FormulaR1C1 = "=ISNUMBER(RC[2])"
    Ici, j'incrémente mon test jusqu'à la ligne 10000
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Selection.AutoFill Destination:=Range("A2:A10000"), Type:=xlFillDefault
    la je voudrais spécifier que si ma valeur de résultat est vrai, je garde la ligne, sinon:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Rows("2:2").Select
    Selection.Delete Shift:=xlUp
    j'espere avoir été suffisament claire dans ma question, merci à vous...

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    243
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 243
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    Sub a()
    Dim i As Integer
    i = 1 ' ici la premiere ligne à checker
    Do Until Cells(i, 1) = ""
     
    If Cells(i, 1).Value = "aa" Or Cells(i, 1).Value = "bb" Or Cells(i, 1).Value = "cc" Then
     
    Rows(i & ":" & i).Delete
    End If
    i = i + 1
    Loop
     
    End Sub
    essai ca...et adapte le

  3. #3
    Membre éclairé
    Avatar de yoyo3d
    Homme Profil pro
    Administratif
    Inscrit en
    Avril 2002
    Messages
    421
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Administratif
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Avril 2002
    Messages : 421
    Par défaut
    ok, merci, c'est une réponse "flash"
    j'essaie et je te dit si ça marche...
    merci encore

  4. #4
    Membre éclairé Avatar de marsupilami34
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    576
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 576
    Par défaut
    Citation Envoyé par VBBBA
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     
    Rows(i & ":" & i).Delete
    End If
    i = i + 1
    Attention, si tu incrémenta quand tu supprime une ligne, tu vas oublier de vérifier une ligne du au fait que lorsque tu supprimes une lignes les lignes d'en dessous remonte.

    Donc i=i+1 oui mais si tu ne supprimes pas de lignes

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    243
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 243
    Par défaut
    mais lui veut supprimer des lignes comment dois on faire dans ce cas..

  6. #6
    Membre éclairé Avatar de marsupilami34
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    576
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 576
    Par défaut
    Peut être comme ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Sub a()
    Dim i As Integer
    i = 1 ' ici la premiere ligne à checker
    while Cells(i, 1) = ""
     
          If Cells(i, 1)= "aa" Or Cells(i, 1)= "bb" Or Cells(i, 1)= "cc" then
             Rows(i & ":" & i).Delete
          End If
          i = i + 1
     
    Wend
     
    End Sub

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    243
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 243
    Par défaut
    ca revient au meme non?

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

Discussions similaires

  1. [VBA] Comment supprimer une ligne entiere dans excel
    Par babouoles dans le forum Macros et VBA Excel
    Réponses: 16
    Dernier message: 06/07/2017, 08h34
  2. [XL-2010] Supprimer une ligne excel et listbox à l'aide d'une listbox multicolonne
    Par MatthieuT42 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 11/05/2015, 09h40
  3. Supprimer une ligne excel avec une condition
    Par Quentin006 dans le forum Excel
    Réponses: 4
    Dernier message: 28/05/2009, 11h45
  4. [VBA] supprimer une ligne excel
    Par morgan47 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 20/06/2006, 14h11
  5. [VBA Excel] Ajouter, supprimer une ligne ou collone range
    Par loacast dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 22/11/2005, 15h53

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