comparer 2 colonne et faire une action

  • Initiateur de la discussion Initiateur de la discussion kevenpom
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

K

kevenpom

Guest
Bonjour, j'essai de comparer 2 colonne sur 2 feuille différente
voula mon problème ses que sa prend un temp fou et no_mrp se recopie sur la collone b.....
Code:
Sub Find_Matches()
    Dim TableFu As Range, no_fu As Range, no_mrp As Range, LastFu As Integer, ws1 As Worksheet, ws2 As Worksheet
    ' no_mrp As Integer, no_fu As Integer,
    Set ws1 = ActiveWorkbook.Sheets("fukanban")
    Set ws2 = ActiveWorkbook.Sheets("fini")
    
    LastFu = ws1.Range("A1").SpecialCells(xlCellTypeLastCell).Row  ' trouver last fu
  
     Set TableFu = ws1.Range("A1:A" + CStr(LastFu))
     
        For Each no_mrp In Selection
            For Each no_fu In TableFu
            If no_mrp = no_fu Then MsgBox (no_mrp)
            no_mrp.Offset(0, 1) = no_mrp
            Next no_fu
        Next no_mrp
    
End Sub

quelle serait la meilleur facon pour faire cette comparaison....
merci en avance
 
Re : comparer 2 colonne et faire une action

Bonjour kevenpom et bienvenue sur XLD,

peut-être en utilisant les propriétés "Find" et"FindNext" mais au fait, quel est la quantité de données à analyser et pourquoi utiliser "Selection" au lieu d'une plage?
 
Re : comparer 2 colonne et faire une action

bonjour ses 2 colonne une de 9000 article et lautre de 57000
donc en code sa pourait donner quoi pour la recherche soit rapide???
ma ligne contien une chaine exemple 987-123-456
 
Re : comparer 2 colonne et faire une action

voici une partie de mon fichier

quelle serait le code pour optimiser ma comparaison
a tu un exemple avec ton find cell qui serait utile pour mon fichier...

mon macro est findmatch
 

Pièces jointes

Dernière modification par un modérateur:
Re : comparer 2 colonne et faire une action

Re bonjour,

comme tu n'a pas dis à quoi correspond "Selection", je te montre un exemple à adapter:

Code:
Sub essai()
Set ws1 = Sheets("fukanban")
Set ws2 = Sheets("liste")
For Each cellule In ws1.Range([A1], [A1].End(xlDown))
    Set trouve = ws2.Columns("A").Find(cellule.Value, LookIn:=xlValues, lookat:=xlWhole)
    If Not trouve Is Nothing Then cellule.Offset(0, 1).Value = cellule.Value
Next
End Sub
 
Re : comparer 2 colonne et faire une action

Merci

Code:
Sub Find_Matches()
    
    Dim TableFu As Range, TableMrp As Range, no_fu As Range, no_mrp As Range, LastFu As Integer, ws1 As Worksheet, ws2 As Worksheet, ws3 As Worksheet, trouve As Object
    
    Set ws1 = ActiveWorkbook.Sheets("fukanban")
    Set ws2 = ActiveWorkbook.Sheets("fini")
    Set ws3 = ActiveWorkbook.Sheets("liste")
    Set TableMrp = Selection
    
    LastFu = ws1.Range("A1").SpecialCells(xlCellTypeLastCell).Row  ' trouver last fu
    Set TableFu = ws1.Range("A1:A" + CStr(LastFu))
    
    Sheets("FuKanban").Select
    Range("A1:G" + CStr(LastFu)).Select                                 ' trie fu en croissant
    Selection.Sort Key1:=Range("A1"), Order1:=xlAscending, Header:=xlGuess, _
    OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
    DataOption1:=xlSortNormal
     
    Sheets("liste").Select
    For Each no_mrp In TableMrp
    Set trouve = TableFu.Find(no_mrp.Value, LookIn:=xlValues, lookat:=xlWhole)
    If Not trouve Is Nothing Then no_mrp.Offset(0, 1).Value = no_mrp.Value

Next
End Sub

Mais si je voudrait que la cellule de la tablemrp devienne d'une couleur (si elle se retrouve dans les 2 table)
ses ou je doit écrire sa... pck la elle marque le no_mrp a la colonne b a place
et oui Merci encore ... 😀
 
Re : comparer 2 colonne et faire une action

Re bonjour,

merci de faire un effort sur l'écriture, ce n'est pas un "chat" MSN et compagnie ici....
Mais si je voudrait que la cellule de la tablemrp devienne d'une couleur
A quelles plage correspond la "tablemtp"?
car "Set TableMrp = Selection", euhhh je t'ai déjà posé la question d'ailleurs.
 
Re : comparer 2 colonne et faire une action

Désole 🙁

La selection ses ce que je sélection (une parti de la colonne A) dans la feuille liste

donc je pense que tablemrp est la sélection de certain élément dans la colonne A.
 
Re : comparer 2 colonne et faire une action

Re bonjour,

voici le code modifié pour mettre une couleur à la place:
Code:
Sub Find_Matches()
    
    Dim TableFu As Range, TableMrp As Range, no_fu As Range, no_mrp As Range, LastFu As Integer, ws1 As Worksheet, ws2 As Worksheet, ws3 As Worksheet, trouve As Object
    
    Set ws1 = ActiveWorkbook.Sheets("fukanban")
    Set ws2 = ActiveWorkbook.Sheets("fini")
    Set ws3 = ActiveWorkbook.Sheets("liste")
    Set TableMrp = Selection
    
    LastFu = ws1.Range("A1").SpecialCells(xlCellTypeLastCell).Row  ' trouver last fu
    Set TableFu = ws1.Range("A1:A" + CStr(LastFu))
    
    Sheets("FuKanban").Select
    Range("A1:G" + CStr(LastFu)).Select                                 ' trie fu en croissant
    Selection.Sort Key1:=Range("A1"), Order1:=xlAscending, Header:=xlGuess, _
    OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
    DataOption1:=xlSortNormal
     
    Sheets("liste").Select
    For Each no_mrp In TableMrp
    Set trouve = TableFu.Find(no_mrp.Value, LookIn:=xlValues, lookat:=xlWhole)
    If Not trouve Is Nothing Then [B][COLOR=blue]no_mrp.Interior.ColorIndex = 6 'jaune[/COLOR][/B]
Next
End Sub
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
4
Affichages
734
Retour