comparer deux colonnes et extraire des valeurs dans une 3ème colonne en VBA

Y compris Power BI, Power Query et toute autre question en lien avec Excel
Avatar du membre
Klin89
Membre dévoué
Membre dévoué
Messages : 594
Appréciations reçues : 21
Inscrit le : 28 mai 2011
Version d'Excel : 2003 FR

Message par Klin89 » 19 janvier 2018, 23:38

Re Christophe88 :roll:

with Application.Match
Option Explicit
Sub test()
Dim r As Range, pos, txt As String, e
    With Sheets("feuil1").Cells(1).CurrentRegion
        With .Offset(1).Resize(.Rows.Count - 1)
            .Columns(3).ClearContents
            For Each r In .Columns(1).Cells
                pos = Application.Match(r.Value, .Columns(2), 0)
                If Not IsNumeric(pos) Then txt = txt & "," & r.Row - 1
            Next
            For Each e In Split(Mid$(txt, 2), ",")
                .Cells(e, 3).Value = .Cells(e, 1).Value
            Next
        End With
    End With
End Sub
Plus simple :uh:
Option Explicit
Sub test()
Dim r As Range, pos
    With Sheets("feuil1").Cells(1).CurrentRegion
        With .Offset(1).Resize(.Rows.Count - 1)
            .Columns(3).ClearContents
            For Each r In .Columns(1).Cells
                pos = Application.Match(r.Value, .Columns(2), 0)
                If Not IsNumeric(pos) Then
                    .Cells(r.Row - 1, 3).Value = .Cells(r.Row - 1, 1).Value
                End If
            Next
        End With
    End With
End Sub
Une autre disposition :
Option Explicit
Sub test()
Dim r As Range, pos, lig As Long
    With Sheets("feuil1").Cells(1).CurrentRegion
        With .Offset(1).Resize(.Rows.Count - 1)
            .Columns(3).ClearContents
            For Each r In .Columns(1).Cells
                pos = Application.Match(r.Value, .Columns(2), 0)
                If Not IsNumeric(pos) Then
                    lig = lig + 1
                    .Cells(lig, 3).Value = .Cells(r.Row - 1, 1).Value
                End If
            Next
        End With
    End With
End Sub
klin89
Modifié en dernier par Klin89 le 20 janvier 2018, 19:20, modifié 1 fois.
c
ceuzin
Membre dévoué
Membre dévoué
Messages : 563
Appréciations reçues : 24
Inscrit le : 29 octobre 2011
Version d'Excel : 2002

Message par ceuzin » 20 janvier 2018, 08:49

Bonjour,

Comparaison de 2 listes:
-Communs
-Différence
-Fusion

http://boisgontierjacques.free.fr/fichi ... ionary.xls

Ceuzin
n
nykolium
Nouveau venu
Nouveau venu
Messages : 7
Inscrit le : 15 octobre 2019
Version d'Excel : 15.39

Message par nykolium » 15 octobre 2019, 11:19

Salut !
Petit déterrage car en modifiant un 0 par un 1 la formule me correspond !
Merci pour ce forum et les utilisateur c'est vraiment sympa!

Le truc c'est que souhaiterai comparer 2 colonnes mais extraire la ligne complete (a partir de Bde la colonne.
j'ai repris le fichier pour montrer le résultat souhaité

En claire j'ai une liste complete d'article de 1000 lignes, avec tout a un tas d'information,
De l'autre , un liste avec quelques références 100 ligne,
Je sais que ces produits sont présent dans la liste détaillé,
du coup je souhaiterai extraire l'ensemble sur les colonne a coté voir dans une autre feuille.

Image

J'ai juste posté une une capture d'écran pour simuler mon souhait

Si une amae charitable et experte passe par là :mrgreen:
d'avance merci
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message