Identification mêmes cellules VBA

Résolu/Fermé
BE-NAMCO Messages postés 3 Date d'inscription lundi 27 juin 2016 Statut Membre Dernière intervention 19 juillet 2016 - Modifié par BE-NAMCO le 4/07/2016 à 15:36
ccm81 Messages postés 10543 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 18 mars 2023 - 4 juil. 2016 à 17:15
Bonjour à tous,

J'aimerai avoir une macro qui me permet d'identifier les cellules identiques d'une colonne A à B.

Admettons, sur la colonne A j'ai plusieurs données (il peut y avoir plusieurs cellules identiques sur cette colonne), en colonne B également (chaque cellule est unique sur cette colonne). A chaque fois qu'une cellule de la Colonne A est identique à une des cellules de la colonne B. Il va récupérer en colonne C l'information qui correspond à la cellule identique, puis il va coller en colonne D sur la même ligne que la valeur identique de la colonne A l'information récupérer en colonne C.

Exemple :

Colon A | Colon B | Colon C | Colon D
XR | BH | BLABLA | BLIBLI
XR | ZA | BLOBLO | BLIBLI
ZA | XR | BLIBLI | BLOBLO
ZB | ZB | COCO | COCO
ZB | ZC | TOTOTO | COCO


Je ne sais pas si vous avez compris ce que je souhaite faire mais je l'espère, je vous ai mis un exemple pour que vous puissiez comprendre.

En vous remerciant par avance de votre aide

Bien cordialement

BE-NAMCO

2 réponses

ccm81 Messages postés 10543 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 18 mars 2023 2 336
4 juil. 2016 à 15:39
Bonjour

Je ne sais pas si j'ai compris : en D2
=INDEX(C:C;EQUIV(A2;B:B;0))

Cdlmnt
0
ccm81 Messages postés 10543 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 18 mars 2023 2 336
Modifié par ccm81 le 4/07/2016 à 15:52
Et en VBA

Const lideb = 2

Public Sub OK()
Dim li As Long, lifin As Long, obj As Object, s As String, ss As String, lis As Long
With ActiveSheet
lifin = .Cells.Find("*", , , , xlByRows, xlPrevious).Row
For li = lideb To lifin
s = .Cells(li, 1).Value
Set obj = .Columns(2).Find(s, , , xlWhole)
If obj Is Nothing Then
MsgBox s & " non trouvé en colonne 2"
Else
lis = obj.Row
ss = .Cells(lis, 3).Value
.Cells(li, 4).Value = ss
End If
Next li
End With
End Sub

Cdlmnt
0
BE-NAMCO Messages postés 3 Date d'inscription lundi 27 juin 2016 Statut Membre Dernière intervention 19 juillet 2016 > ccm81 Messages postés 10543 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 18 mars 2023
4 juil. 2016 à 15:59
Merci beaucoup ccm81 ça marche à merveille. T'es le meilleur ^^ !!
0
ccm81 Messages postés 10543 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 18 mars 2023 2 336
4 juil. 2016 à 17:15
De rien,

Si c'est fini, peux tu mettre le sujet à résolu (en dessous du titre de ton premier message)

Bonne fin de journée
0