Dim L As Integer
Dim xls_fichier As Excel.Workbook
Set xls_fichier = GetObject("C:\path\DB.xlsm")
Sheets("CurrentRetrofit").Select
xls_fichier.Windows(1).Visible = True
xls_fichier.Sheets("DataBase").Select
serial = Range("D3")
With xls_fichier.Sheets("DataBase")
derligne = .Range("B" & Rows.Count).End(xlUp).Row
test = Application.WorksheetFunction.CountIf(.Range("B:B"), Range("d3"))
If test = 0 Then
.Range("B" & derligne + 1) = serial
derligne2 = Range("A" & Rows.Count).End(xlUp).Row
dercolonne = .Cells(2, Columns.Count).End(xlToLeft).Column
For i = 7 To derligne2 - 1
RTF = Range("A" & i)
current = Range("E" & i)
Set colonne = .Range(.Cells(2, 3), .Cells(2, dercolonne))
Set trouve_colonne = colonne.Find(what:=RTF, LookIn:=xlValues)
.Cells(derligne + 1, trouve_colonne.Column) = current
Next i
Else
derligne2 = Range("A" & Rows.Count).End(xlUp).Row
dercolonne = .Cells(2, Columns.Count).End(xlToLeft).Column
Set ligne = .Range(.Cells(3, 2), .Cells(derligne, 2))
Set trouve_ligne = ligne.Find(what:=serial, LookIn:=xlValues)
For i = 7 To derligne2 - 1
RTF = Range("A" & i)
current = Range("E" & i)
Set colonne = .Range(.Cells(2, 3), .Cells(2, dercolonne))
Set trouve_colonne = colonne.Find(what:=RTF, LookIn:=xlValues)
.Cells(trouve_ligne.Row, trouve_colonne.Column) = current
Next i
End If
End With
xls_fichier.Save
xls_fichier.Close
Set xls_fichier = Nothing
[\CODE]