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 :

Echec de suppression de ligne sous condition


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 7
    Points : 6
    Points
    6
    Par défaut Echec de suppression de ligne sous condition
    didyvine


    Bonjour à tous,
    Premiere macro premieres galeres, je n'en peux plus. C'est pour un stage super important pour moi et je ne brille pas! Pourriez vous m'aider?
    apres quelques manip, peu efficientes j'ai copié collé dans la colonne A toutes une série de données, et je souhaite supprimer la ligne entière qd certaine conditions sont respectées. Extrait:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    i = 2
    Do Until Feuil2.Cells(i, 1) = ""
    If Feuil2.Cells(i, 1) = "SUR / sous pondération" Then Feuil2.Cells(i, 1).EntireRow.Delete
    If Feuil2.Cells(i, 1).Value = "ISHARES DJ STOXX 600 BKS DE" Then Feuil2.Cells(i, 1).EntireRow.Delete
    If Feuil2.Cells(i, 1).Value = "Publicité & médias" Then Feuil2.Cells(i, 1).EntireRow.Delete
    If Feuil2.Cells(i, 1).Value = "ISHARES DJ ST 600 INSURAN DE" Then Feuil2.Cells(i, 1).EntireRow.Delete
    If Feuil2.Cells(i, 1).Value = "" Then Feuil2.Cells(i, 1).EntireRow.Delete
    i = i + 1
    Loop
    A vient forcément de ma boucle car la premiere fois que je l active çà enleve certaines lignes, mais pas toutes puis si je recommence plusieurs fois toutes finissent par disparaitre, elles sont donc bien dans ma base de données.
    Novice que je suis je me suis demander si ca ne venait de l accumulation de conditions, car si je les inverse, par exemple publicité et média en premier if, c'est alors cette valeur qui n'est pas effacée totalement.
    Je ne comprend vraiment pas.
    Merci d'avance.

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    2 130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 130
    Points : 2 443
    Points
    2 443
    Par défaut
    Salut didyvine et le forum
    ÇA vient forcément de ma boucle car la premiere fois que je l active çà enleve certaines lignes, mais pas toutes puis si je recommence plusieurs fois toutes finissent par disparaitre, elles sont donc bien dans ma base de données.
    Ouais... erreur classique de débutant : A1, A2, A3, A4 ont "AA"
    un test dans une boucle si = "AA", on supprime la ligne.
    i =1
    A1 ="AA" => on supprime la ligne 1
    La ligne 2 devient 1 (A2 s'appelle maintenant A1)
    i=i+1 => i=2 donc on ne teste plus A1 (bien qu'elle contienne "AA"), mais A2, qu'on va supprimer. et tu te retrouves avec toutes les lignes dont la précédente contenait AA.

    Pour pallier à ça, soit tu parts de la dernière ligne et tu remontes, en décrémentant les lignes, soit lorsque tu supprimes une ligne, tu enlèves 1 à ta variable de boucle => comme après tu ajoutes 1 à cette variable, tu retestes la même ligne (c'est-à-dire la ligne suivante avant la suppression).

    Remarque : tu utilises le nom informatique de la feuille. Personnellement, je préfère utiliser le nom de l'onglet, ce qui permet une copie de la macro sur un autre classeur plus facilement : Si Feuil2 est déjà existante, mais pour une autre feuille, c'est plus facile de renommer les onglets. mais ce n'est qu'une opinion personnelle.
    A+

Discussions similaires

  1. [XL-2007] Suppression de ligne sous condition
    Par discus23 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 13/06/2012, 11h55
  2. Suppression des lignes sous conditions
    Par e08b753z dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 09/06/2012, 18h28
  3. Suppression de lignes sous conditions
    Par dadou42 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 12/07/2010, 16h23
  4. Suppression de lignes sous conditions
    Par juniorglobal08 dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 02/10/2008, 21h15
  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