Bonjour a tous,

Je suis bloque sur un code:
La situation:
1. le code ci dessous check les valeures dans la colonne A de la feuille2 et check si il y a une correspondance dans la colonneA de la feuille1. Si oui alors la ligne de la feuille2 est copier puis coller dans la ligne correspondante de la feuille1.

Le probleme: J'ai plusieurs code dans la meme cellule qui sont separe par des virgules. Il y a t'il un moyen avec VBA pour que le code check tout les codes dans une meme cellule (dans la Feuille2) et check dans la feuille1.

J 'ai essaye d'utilise SPLIT mais je n'y arrive pas. Je suis preneur de toutes idees.

Thanks a lot!

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Option Explicit
Sub ReplaceData()
 
Dim lastRw1, lastRw2, nxtRw, m
 
'Determine last row with data, Sheet1
  lastRw1 = Sheets(1).Range("A" & Rows.Count).End(xlUp).Row 'Determine last row with data, Sheet2
  lastRw2 = Sheets(2).Range("A" & Rows.Count).End(xlUp).Row 'Loop through Sheet 2, Column A
 
     For nxtRw = 2 To lastRw2
 
'Search Sheet1 Column A for value from Sheet 2
        With Sheets(1).Range("A2:A" & lastRw1)
          Set m = .Find(Sheets(2).Range("A" & nxtRw), LookAt:=xlWhole) 'Copy Sheet2 row if match is found
 
            If Not m Is Nothing Then
              Sheets(2).Range("A" & nxtRw).EntireRow.Copy _
              Sheets(1).Range("A" & m.Row)
 
            End If
 
        End With
     Next
 
End Sub