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 :

Macro suppression d'une ligne pour double conditions


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2013
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2013
    Messages : 36
    Par défaut Macro suppression d'une ligne pour double conditions
    Bonjour,

    Je viens vers vous car je n'arrive pas a faire une suppression de ligne pour une double condition.

    Dans ma macro, je demande de supprimer la ligne lorsque la valeur de la cellule de la colonne A = "0000002071" puis je demande de supprimer la ligne lorsque la valeur de la cellule de la colonne D= 5200 puis je demande de supprimer la ligne lorsque la valeur de la cellule de la colonne K=5200 et enfin que la macro supprime la ligne quand la valeur de la cellule A="0000074355" et que la valeur de la cellule D de la meme ligne = 4906 et la j'y arrive pas j'ai essaye une fonction if and mais la syntaxe ne va pas.

    Merci de votre aide car je suis debutante et la je coince vraiment.

    Mon code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    Dim I As Long
    Dim Plage_Id As Range
    Set Plage_Id = Range("A2:A" & Range("A2").End(xlDown).Row)
     
    Dim J As Long
    Dim Plage_UE As Range
    Set Plage_UE = Range("D2:D" & Range("D2").End(xlDown).Row)
     
    Dim K As Long
    Dim Plage_UE1 As Range
    Set Plage_UE1 = Range("K2:K" & Range("K2").End(xlDown).Row)
     
    For I = Plage_Id.Cells.Count To 1 Step -1
     If Plage_Id.Cells(I).Text = "0000002071" Then
        Plage_Id.Cells(I).EntireRow.Delete
     End If
     Next
     
     
     For J = Plage_UE.Cells.Count To 1 Step -1
     If Plage_UE.Cells(J).Value = 5200 Then
        Plage_UE.Cells(J).EntireRow.Delete
     End If
     Next
     
     
     For K = Plage_UE1.Cells.Count To 1 Step -1
     If Plage_UE1.Cells(K).Value = 5200 Then
        Plage_UE1.Cells(K).EntireRow.Delete
     End If
     Next
     
     
      For I = Plage_Id.Cells.Count To 1 Step -1
      If Plage_Id.Cells.Text = "0000074355" Then
      And Plage_UE.Cells(J).Value = 4906
      Plage_Id.Cells(I).EntireRow.Delete
    End If

  2. #2
    Expert confirmé Avatar de illight
    Homme Profil pro
    Analyste décisionnel
    Inscrit en
    Septembre 2005
    Messages
    2 344
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Analyste décisionnel
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 344
    Par défaut
    Merci de mettre les balises [code] quand tu met du code, sinon c'est illisible...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    Dim I As Long
     
    For I = range("A60000").End(xlup).Row To 1 Step -1
       If cells(i,1).value = "0000002071" Then
          Rows(i).delete
       End If
    Next
     
     
    For i = range("D60000").End(xlup).Row To 1 Step -1
       If cells(i,4).value = 5200 Then
          Rows(i).delete
       End If
    Next i
     
     
    For i = range("K60000").End(xlup).Row To 1 Step -1
       If cells(i,11).value = 5200 Then
          Rows(i).delete
       End If
    Next i
     
     
    For i = range("A60000").End(xlup).Row To 1 Step -1
       If cells(i,1).value = 0000074355 and cells(i,4).value=4906 Then
          Rows(i).delete
       End If
    Next i
    Un truc comme ça..
    1. Avant de poster, et http://www.developpez.com/sources/
    2. Lors du post, n'oubliez pas, si besoin les balises CODE => voir ici pour l'utilisation
    3. N'oubliez pas le
    4. N'oubliez pas le si la réponse vous a été utile !

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2013
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2013
    Messages : 36
    Par défaut
    ok je ne savais pas. Premire fois que je poste du code sur le forum.

    Merci bcp. Je vais essayer.

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

Discussions similaires

  1. Suppression d'une ligne avec une condition
    Par étudiant11 dans le forum SAS Base
    Réponses: 4
    Dernier message: 04/03/2015, 12h11
  2. Suppression de lignes sur double condition
    Par bret029 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 03/10/2012, 13h22
  3. Réponses: 1
    Dernier message: 25/03/2011, 20h22
  4. [XL-2003] Lancement d'une macro avant la suppression d'une ligne
    Par safouunette dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 26/11/2010, 10h32
  5. Problème pour annuler la suppression d'une ligne
    Par KrusK dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 23/05/2008, 12h00

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