supprimer des lignes sous certaines conditions Le sujet est résolu

Forum pour toutes vos questions à propos d'Excel (avec ou sans macros) ...
mathilde92
Jeune membre
Jeune membre
Messages : 10
Inscrit le : 16 avril 2018
Version d'Excel : 2016

Message par mathilde92 » 16 avril 2018, 16:15

Bonjour à tous,

J'ai un fichier excel contenant plusieurs colonnes, dont une avec des numeros de compte.
J'aimerai, en VBA, créer une macro qui supprimerait certaines lignes ne correspondant pas aux numeros de comptes que je veux garder.

J'avais dans l'idée de créer un vecteur qui contiendrait les numeros de comptes que je veux conserver (il y en a une quizaine environ) et ensuite faire un for et un if mais je suis pas experte en vba donc c'est un peu la galère.. .

Merci à vous par avance !
patrick1957
Passionné d'Excel
Passionné d'Excel
Messages : 3162
Appréciations reçues : 30
Inscrit le : 24 août 2015
Version d'Excel : 2007-2010-2016 PC

Message par patrick1957 » 16 avril 2018, 17:55

Bonjour,

Une copie anonymisée serait bienvenue :)

P.
Je fais du géocaching et vous ?
Indentez vos codes VBA, ---> http://www.oaltd.co.uk/Indenter/Default.htm
A lire pour les débutants: http://www.xlerateur.com/divers/2010/05 ... nnees-612/
Avatar du membre
Jean-Eric
Fanatique d'Excel
Fanatique d'Excel
Messages : 12618
Appréciations reçues : 245
Inscrit le : 27 août 2012
Version d'Excel : 2016 FR 32 bits

Message par Jean-Eric » 16 avril 2018, 20:19

Bonjour et bienvenue,
Une copie anonymisée est nécessaire !... ::~
Cdlt.

@Patrick : Bonjour
Jean-Eric

Je ne réponds pas aux M.P. non sollicités.
mathilde92
Jeune membre
Jeune membre
Messages : 10
Inscrit le : 16 avril 2018
Version d'Excel : 2016

Message par mathilde92 » 17 avril 2018, 09:16

Bonjour,

Je vous mets donc une copie de mon fichier.
En colonne G, les numéros de compte (j'ai donc une liste de ceux que je veux garder), et ceux qui sont différents de cette liste, supprimer les lignes.
test.xlsm
(106.18 Kio) Téléchargé 8 fois
mathilde92
Jeune membre
Jeune membre
Messages : 10
Inscrit le : 16 avril 2018
Version d'Excel : 2016

Message par mathilde92 » 17 avril 2018, 09:29

Sub suppression()

Sheets("Detail cout du risque").Activate
derniere_ligne = Range("G" & Rows.Count).End(xlUp).Row

With ThisWorkbook.Sheets("Detail cout du risque")

For i = derniere_ligne To 1 Step -1
If (Range("G" & i).Value <> 662830 And Range("G" & i).Value <> 662831 And Range("G" & i).Value <> 662832 And Range("G" & i).Value <> 662333 And Range("G" & i).Value <> 664100 And Range("G" & i).Value <> 681740 And Range("G" & i).Value <> 686200 And Range("G" & i).Value <> 686621 And Range("G" & i).Value <> 686622 And Range("G" & i).Value <> 686623 And Range("G" & i).Value <> 686624 And Range("G" & i).Value <> 686625 And Range("G" & i).Value <> 786620 And Range("G" & i).Value <> 786621 And Range("G" & i).Value <> 786622 And Range("G" & i).Value <> 786623 And Range("G" & i).Value <> 786624 And Range("G" & i).Value <> 786625) Then
.Rows(i).Select
Selection.Delete
End If

Next i
End With

End Sub



J'ai fait ça comme code, on m'a aidé le problème c'est que pour faire tourner ce code il me faut pas moins de 5 minutes... alors qu'il n'y a que 1900 lignes...
Avatar du membre
Jean-Eric
Fanatique d'Excel
Fanatique d'Excel
Messages : 12618
Appréciations reçues : 245
Inscrit le : 27 août 2012
Version d'Excel : 2016 FR 32 bits

Message par Jean-Eric » 17 avril 2018, 11:05

Bonjour,
Une proposition à étudier.
Voir feuille PQ - Résultat : Le résultat est-il satisfaisant ?
Réalisé avec Récupérer et transformer (Power Query)
Cdlt.
mathilde92.xlsx
(189.88 Kio) Téléchargé 5 fois
Jean-Eric

Je ne réponds pas aux M.P. non sollicités.
mathilde92
Jeune membre
Jeune membre
Messages : 10
Inscrit le : 16 avril 2018
Version d'Excel : 2016

Message par mathilde92 » 17 avril 2018, 11:08

Je viens de regarder le fichier, en fait la feuille PQ est l'exacte opposé de ce que je souhaite :) tous ces comptes là je ne les veux plus, en revanche ceux de la liste ce sont ceux que je veux conserver
Avatar du membre
Jean-Eric
Fanatique d'Excel
Fanatique d'Excel
Messages : 12618
Appréciations reçues : 245
Inscrit le : 27 août 2012
Version d'Excel : 2016 FR 32 bits

Message par Jean-Eric » 17 avril 2018, 11:15

Re,
J'ai inversé la requête. :oops:
mathilde92.xlsx
(114.56 Kio) Téléchargé 5 fois
Modifié en dernier par Jean-Eric le 17 avril 2018, 11:19, modifié 1 fois.
Jean-Eric

Je ne réponds pas aux M.P. non sollicités.
mathilde92
Jeune membre
Jeune membre
Messages : 10
Inscrit le : 16 avril 2018
Version d'Excel : 2016

Message par mathilde92 » 17 avril 2018, 11:17

Merci beaucoup c'est parfait. Et la requete je peux la voir à quel endroit ?
Avatar du membre
Jean-Eric
Fanatique d'Excel
Fanatique d'Excel
Messages : 12618
Appréciations reçues : 245
Inscrit le : 27 août 2012
Version d'Excel : 2016 FR 32 bits

Message par Jean-Eric » 17 avril 2018, 11:37

Re,
As-tu déja travaillé avec Power Query ?
Dans la négative, j'ai des explications claires à te donner, et tu peux aussi te documenter sur la bête.
A te relire.
Cdlt.
Jean-Eric

Je ne réponds pas aux M.P. non sollicités.
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message