[VBA] Comparer deux listes sous excel

Fermé
Benj - 3 mai 2007 à 12:26
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 - 4 mai 2007 à 21:41
Bonjour, debutant en VBA japprecierai bcp votre aide quant au probleme suivant.

Tout d'abord mon classeur est compose ainsi:
J'ai une premiere feuille excel avec une colonne contenant des numeros de references (il y en a 3850).
Jai une seconde feuille excel avec une colonne contenant des numeros de references (38000) et en face de chaque numero, un numero de groupe.
Ce que je souhaite faire c'est que chaque fois que le numero de reference de la seconde feuille correspond avec le numero de reference de la premiere feuille, soit implemente le numero de groupe correspondant.

En gros ca donne ca :
Chaque fois que Feuille1 Colonne A Cell(i) = Feuille 2 Colonne A Cell(i), alors prendre Feuille 2 Colonne B Cell(i) et limplementer dans Feuille1 Colonne B Cell(i)

Ca fait deux jours que jessaye de faire ca, donc si qn peut m'aider ce serait merveilleux ! M'indiquer le type de boucle a utiliser, les fonctions necessaires... MERCI D'AVANCE !!!
Benj
A voir également:

1 réponse

gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 685
4 mai 2007 à 21:41
bonjour

Je te propose cette macro qui devrait résoudre ton souci si j'ai bien compris ton problème :


Public Sub report()
Dim i As Integer
Dim pos As Variant

For i = 2 To Cells(1, 1).End(xlDown).Row
    Set pos = Cells.Find(What:=Sheets("Feuil1").Cells(i, 1).Value, _
        After:=Sheets("Feuil2").Cells(1, 1), LookIn:=xlFormulas, _
        LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
        MatchCase:=False, SearchFormat:=False)
    If Not pos Is Nothing Then
        Sheets("Feuil1").Cells(i, 2).Value = _
            Sheets("Feuil2").Cells(pos.Row, 2).Value
    End If
Next i
End Sub



Merci de nous donner le résultat.
3