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 :

Suppression de ligne d'une colonne sous condition d'une liste


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Novembre 2014
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Bâtiment

    Informations forums :
    Inscription : Novembre 2014
    Messages : 39
    Points : 29
    Points
    29
    Par défaut Suppression de ligne d'une colonne sous condition d'une liste
    Bonjour,


    J'ai un grand nombre de ligne sur ma Feuil2 et je recherche a conserver uniquement les lignes des noms correspondant à une liste située en Feuil3.

    ¨Par exemple:

    Feuille 2:
    Rennes
    Paris
    Tour
    Rennes
    Lyon
    Dinan
    Brest
    Dinan
    Paris

    Feuille 3:

    Rennes
    Dinan
    Brest


    Débutant, j'ai essayé le code suivant mais ça m’efface tout...je pense comprendre pourquoi, mais n'ai pas assez de connaissance pour régler le problème. Je pense que sur le feuille 3 la valeur de la Liste correspond à la totalité des noms et non pas à chaque cellule testée une à une. ( j'espère être compréhensible)...

    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
    Sub SupLigne()
    Dim Liste As String
     
     
    With Worksheets("Feuil2")
     
       Application.ScreenUpdating = False
       For i = [A65000].End(xlUp).Row To 1 Step -1
          Liste = (Cells(i, 1).Value)
          Next i
          With Worksheets("Feuil3")
         For j = [A65000].End(xlUp).Row To 1 Step -1
     
    If .Range("A" & j).Value <> Liste Then
    .Rows(j).EntireRow.Delete
     
      End If
    Next j
    End With
    End With
     
    End Sub

    en espérant votre aide,

    Merci

  2. #2
    Membre habitué
    Homme Profil pro
    Inscrit en
    Décembre 2012
    Messages
    129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Décembre 2012
    Messages : 129
    Points : 149
    Points
    149
    Par défaut
    Bonjour,

    Le problème est que la variable string ne peux pas contenir de liste. A la fin de ta première boucle, liste vaut la valeur dela cellule A1 et rien d'autre.

    Je pense que dans toncas il faut utiliser un dictionaire :

    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
     
    Sub SupLigne()
        Dim dic_liste
        Set dic_liste = CreateObject("Scripting.Dictionary")
     
        With Worksheets("Feuil2")
            For i = [A65000].End(xlUp).Row To 1 Step -1
                dic_liste(Cells(i, 1).value) = "" ' on stock dans le dic les valeurs / les doublons s'écraseront naturelement
            Next i
            ' ici on a bien une liste
     
            With Worksheets("Feuil3")
                For j = [A65000].End(xlUp).Row To 1 Step -1
                    If Not dic_liste.exists(.Range("A" & j).value) Then
                        .Rows(j).EntireRow.Delete
                    End If
                Next j
            End With
        End With
    End Sub

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Novembre 2014
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Bâtiment

    Informations forums :
    Inscription : Novembre 2014
    Messages : 39
    Points : 29
    Points
    29
    Par défaut
    Bonjour mathspountz et merci pour cette information, je ne connaissais pas du tout le dictionnaire.

    Par contre j'ai essayé et rien ne se passe...

  4. #4
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 674
    Points
    18 674
    Par défaut
    Bonjour !

    Citation Envoyé par logue_in Voir le message
    J'ai un grand nombre de ligne sur ma Feuil2
    C'est vague ! Combien ?

    Sinon avec le B-A-BA d'Excel tu peux t'en sortir via la fonction de feuille de calculs EQUIV et
    en t'aidant de l'Enregistreur de macros, le meilleur ami du débutant …

    ______________________________________________________________________________________________________
    Je suis Paris, Charlie, Bruxelles, …
    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)

Discussions similaires

  1. [XL-2007] Comment supprimer des lignes d'une plage dans une colonne sous condition
    Par capi81 dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 05/06/2015, 11h34
  2. [XL-2010] Copier valeur d'une colonne sous condition dans une boucle
    Par gauthier69 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 04/04/2014, 11h26
  3. [XL-2003] Bloquer une colonne sous condition
    Par louzz dans le forum Excel
    Réponses: 11
    Dernier message: 07/09/2011, 16h22
  4. Réponses: 5
    Dernier message: 10/08/2011, 18h05
  5. selection de cellules d'une colonne sous condition
    Par Mounamidou dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 02/10/2007, 14h09

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