Excel : Uniformisation de 2 listes
Fermé
spit8fire
-
25 août 2011 à 10:37
eriiic Messages postés 24512 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 24 mars 2023 - 25 août 2011 à 21:20
eriiic Messages postés 24512 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 24 mars 2023 - 25 août 2011 à 21:20
A voir également:
- Excel : Uniformisation de 2 listes
- Liste déroulante excel - Guide
- Formule excel - Guide
- 2 comptes whatsapp - Guide
- Déplacer une colonne excel - Guide
- Aller à la ligne excel - Guide
2 réponses
Morgothal
Messages postés
1235
Date d'inscription
jeudi 22 avril 2010
Statut
Membre
Dernière intervention
19 mai 2015
179
25 août 2011 à 15:31
25 août 2011 à 15:31
Salut,
Je ne comprend pas, tu cherches à garder dans les deux listes, seulement les produits présents dans les deux listes ?
Si c'est bien ça, cette macro fonctionne :
Les hypothèses ici sont que la liste 1 est en colonne A, la liste 2 en colonne B, et que ces deux listes commencent en ligne 1.
Je ne comprend pas, tu cherches à garder dans les deux listes, seulement les produits présents dans les deux listes ?
Si c'est bien ça, cette macro fonctionne :
Sub GarderLesDoublons()
Dim ligne, ligne2, i, ii As Integer
i = 1 'n° de la premiere ligne de la liste 1
ii = 1 'n° de la premiere ligne de la liste 2
While Cells(i, 1) <> "" 'le 1 correspond au n° de colonne de la liste 1
i = i + 1
Wend
While Cells(ii, 2) <> "" 'le 2 correspond au n° de colonne de la liste 2
ii = ii + 1
Wend
i = i - 1
ii = ii - 1
For ligne = 1 To i
For ligne2 = 1 To ii
If Cells(ligne, 1) = Cells(ligne2, 2) Then 'le 1, colonne liste1, 2 colonne liste 2
Cells(ligne, 1) = "" 'idem ici, le 1, colonne de la liste 1,
Cells(ligne, 2) = "" 'et 2 colonne de la liste 2
Exit For
End If
Next
Next
End Sub
Les hypothèses ici sont que la liste 1 est en colonne A, la liste 2 en colonne B, et que ces deux listes commencent en ligne 1.
eriiic
Messages postés
24512
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
24 mars 2023
7 168
25 août 2011 à 21:20
25 août 2011 à 21:20
Bonjour,
autre proposition vu que je n'ai pas compris de la même façon :
Comme sur ton exemple les 2 listes doivent être triées et ne pas comporter de cellules vides.
Vu la faible longueur de ton exemple pas sûr que tous les cas de figure y étaient et que ça marchera sur des listes plus longues...
Si pb reviens avec un exemple avec pb (cijoint.fr et coller ici le lien fourni)
http://www.cijoint.fr/cjlink.php?file=cj201108/cijV2wsMpI.xls
eric
autre proposition vu que je n'ai pas compris de la même façon :
Sub alignerListes()
Dim derlig As Long, lig As Long
Application.ScreenUpdating = False
derlig = [A65536].End(xlUp).Row
For lig = 2 To derlig
If Cells(lig, 1) < Cells(lig, 2) Then
Cells(lig, 2).Insert Shift:=xlDown
ElseIf Cells(lig, 1) > Cells(lig, 2) Then
Cells(lig, 1).Insert Shift:=xlDown
End If
Next lig
Application.ScreenUpdating = False
End Sub
Comme sur ton exemple les 2 listes doivent être triées et ne pas comporter de cellules vides.
Vu la faible longueur de ton exemple pas sûr que tous les cas de figure y étaient et que ça marchera sur des listes plus longues...
Si pb reviens avec un exemple avec pb (cijoint.fr et coller ici le lien fourni)
http://www.cijoint.fr/cjlink.php?file=cj201108/cijV2wsMpI.xls
eric