[VBA] Comparer les valeurs de deux listes
Résolu
adrienew
Messages postés
3
Date d'inscription
Statut
Membre
Dernière intervention
-
adrienew Messages postés 3 Date d'inscription Statut Membre Dernière intervention -
adrienew Messages postés 3 Date d'inscription Statut Membre Dernière intervention -
A voir également:
- Comparer une valeur à une liste excel
- Liste déroulante excel - Guide
- Déplacer une colonne excel - Guide
- Excel liste déroulante en cascade - Guide
- Trier une colonne excel - Guide
- Word et excel gratuit - Guide
2 réponses
Bonjour,
Code ameliore:
Pour votre code il faut indiquer quelle feuille pour la liste feuille1 et pour la ligne a deleter.
Bonne fete de fin d'annee
Code ameliore:
Sub Compare() Dim i As Integer Dim col_2 As Range 'Definition plage de cellules en memoire pour vitesse execution Set col_2 = Worksheets("feuil2").Range("A1:A50") With ThisWorkbook.Sheets("Feuil1") For i = 50 To 2 Step -1 'Test si valeur cellule feuil1!=Ax est dans Plage col_2(feuil2!A1:A50)) If Application.CountIf(col_2, .Range("A" & i).Value) = 0 Then 'Delete ligne i feuil1 .Rows(i).Delete End If Next i End With End Sub
Pour votre code il faut indiquer quelle feuille pour la liste feuille1 et pour la ligne a deleter.
Bonne fete de fin d'annee
Yeees ça fonctionne !
(au début le code amélioré ne fonctionnai pas, mais en supprimant les . devant "Range("A" & i)" et "Rows(i).Delete" tout marche bien)
Merci beaucoup pour votre aide et bonnes fêtes.
Adrien
(au début le code amélioré ne fonctionnai pas, mais en supprimant les . devant "Range("A" & i)" et "Rows(i).Delete" tout marche bien)
Merci beaucoup pour votre aide et bonnes fêtes.
Adrien
Re,
Il fallait simplement changer le nom de la feuille, ici c'est feuil1 pour vous c'est ....
En enlevant le point devant Range("A" & i) et Rows(i).Delete, si vous sélectionnez une autre feuille, avant de lancer le code, vous allez supprimer des colonnes sur la feuille active pas celle que vous voulez!!!!!!!!
Il fallait simplement changer le nom de la feuille, ici c'est feuil1 pour vous c'est ....
En enlevant le point devant Range("A" & i) et Rows(i).Delete, si vous sélectionnez une autre feuille, avant de lancer le code, vous allez supprimer des colonnes sur la feuille active pas celle que vous voulez!!!!!!!!