Aidez-moi Macro Excel comparer 2 colonnes

Aidez-moi Macro Excel comparer 2 colonnes - VB/VBA/VBS - Programmation

Marsh Posté le 07-03-2005 à 14:27:51    

Bonjour  
J'ai 2 colonnes b et d contenant à peu près les mêmes données. Une colonne c contenant les id des produits de la colonne d. Je veux une macro qui comparent les cellules, si cellule b=cellule d, alors mettre dans a valeur id de c.
A l'aide SVP

Reply

Marsh Posté le 07-03-2005 à 14:27:51   

Reply

Marsh Posté le 07-03-2005 à 14:42:34    

bonjour,
 
Sub Test()
For Each o In Range("B1:" & Range("B65536" ).End(xlUp).Address)
If o.Value = o.Offset(0, 2).Value Then o.Offset(0, -1).Value = o.Offset(0, 1).Value
Next
End Sub
 
A+

Reply

Marsh Posté le 07-03-2005 à 14:58:22    

Merci mais je veux comparer 2 colonnes et retrouver le résultat dans une 3 eme colonne

Reply

Marsh Posté le 07-03-2005 à 15:11:46    

bonjour,  
la macro que je t'ai proposé fait exactement ça
si colonne B = Colonne D ...alors Colonne A = Colonne C
Pour utiliser une macro, il suffit de cliquer Clic Droit sur l'onglet de ta feuille . Sélectionner visualiser le code
 
Copier/Coller le texte de la macro dans la feuille blanche
et appuyer sur F5
 
OK ?
 
Sinon, tu peux aussi mettre une formule dans ta colonne A
Pour A1 :
=SI(B1=D1;C1;"" )
et copier la formule dans toute ta colonne...
 
A+

Reply

Marsh Posté le 07-03-2005 à 15:17:29    

Je te remercie mais les données ne sont pas rangés donc je dois comparer toutes les cellules de la colonne b avec toutes les cellules de la colonne d à l'occurence de l'égalité, je veux avoir à la cellule de l'indice correspondant de la colone a , l'id du meme indice dans d. (ci=di)....
merci de m'aider

Reply

Marsh Posté le 07-03-2005 à 16:06:57    

Re:
 
Sub Test()
For Each o In Range("B1:B" & Range("B65000" ).End(xlUp).Row)
Set FD = Range("D1:D" & Range("D65000" ).End(xlUp).Row).Find(o.Value)
If Not FD Is Nothing Then
z = FD.Address
o.Offset(0, -1).Value = Range(z).Offset(0, -1).Value
End If
Next
End Sub
 
Ok ?

Reply

Marsh Posté le 07-03-2005 à 22:17:29    

Re:
La réponse précédente est Ok sauf qu'elle est polluée par cette saloperie de smiley que je ne peux pas corriger.
Je te la met en image :
http://img50.exs.cx/img50/281/mac16zh.jpg
A+

Reply

Marsh Posté le 08-03-2005 à 09:09:19    

Juste un truc plus "net" pour trouver la dernière ligne utilisée d'une feuille:
Cells.SpecialCells(xlLastCell).Row


---------------
Si on vous donne une info qui marche, DITES-LE!!!! ------ Si vous trouvez seul, AUSSI, votre solution peut servir à d'autres! ------ Je dois la majorité de mes connaissances à mes erreurs!
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed