Bonjour,

Soit un fichier SOURCE (onglet So)
Code Designation Data1 Data2
A 1 z g
B 2 e h
C 3 r j

Soit un fichier TARGET (onglet Ta)
Code Designation Data1 Data2 Data3
A 1 z f 1
B 0 b f 1


Je souhaite faire une mise à jour de TARGET en référence avec Code pour obtenir:
Code Designation Data1 Data2 Data3
A 1 z g 1
B 2 e h 1
C 3 r j 1

On remarquera que Data3 est figé à 1, une ligne est crée dans TARGET et les colonnes sont mises à jour avec les données de SOURCE.
Avez-vous une idée pour créer cette macro ?

Voila à quoi je pense:

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
Private Sub Worksheet_Activate()
Dim i As Integer, j As Integer
 
Application.ScreenUpdating = False
 
With Sheets("SOURCE")
    For i = 3 To .Range("A1048576").End(xlUp).Row
        For j = 3 To Range("A1048576").End(xlUp).Row
            If Range("A" & j) = .Range("A" & i)  Then
                   Range("B" & j) = .Range("B" & i)
                   Range("C" & j) = .Range("C" & i)
                   Range("D" & j) = .Range("D" & i)
                   Range("E" & j) = 1
            End If
        Next j
    Next i
End With
End Sub
 
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
 
End Sub