Código VBA que no actualiza range al buscar coincidencia
'Tengo un codigo que me busca dentro de la hoja "Suivi composants" en la columna A coincidencias con valores presentes en la hoja "Suivi SFY-DC" .
El código copia en la hoja "Suivi composants" en una nuva línea el valor cuando no lo encuentra y también copia otros valores.
Definí el código para que se ejecute cada vez que actualizo mi hoja Suivi composants, y funciona, pero al volver a cambiar de hoja y revenir en la misma me sigue copiando nuevamente aunque estén ya presentes, por lo que creo que el problema es que el rango no se esta actualizando con las nuevas filas y no se como hacer para que se actualice.
Código :
Private Sub Worksheet_Activate()
Dim i As Integer, j As Integer
Dim OF_suiviSFY As String
Dim coincidence As Variant, numerocompo As Variant, Rango As range, Rango_liste As range
Dim description_cherchee As String
Dim dernierOF_suiviSFY As Integer: dernierOF_suiviSFY = Sheets("Suivi SFY-DC").Cells(Rows.Count, "D").End(xlUp).Row
Dim dernierOF_compo As Integer: dernierOF_compo = Sheets("Suivi Composants").Cells(Rows.Count, "A").End(xlUp).Row
Set Rango = Sheets("Suivi Composants").range("A2 ", "A" & dernierOF_compo)
Set Rango_liste = Sheets("ComposantsSFY").range("A3", "E100")
For i = 5 To dernierOF_suiviSFY
coincidence = Application.VLookup(OF_suiviSFY, Rango, 1, False)
If IsError(coincidence) Then
description_cherchee = Sheets("Suivi SFY-DC").Cells(i, 6)
OF_suiviSFY = Sheets("Suivi SFY-DC").Cells(i, 4)
numerocompo = Application.VLookup(description_cherchee, Rango_liste, 5, False)
If IsError(numerocompo) Then
ActiveSheet.Cells(2, 1).Select 'inserer 2 nouvelles lignes
Selection.EntireRow.Insert
ActiveSheet.Cells(2, 1).value = OF_suiviSFY
ActiveSheet.Cells(2, 3).value = Sheets("Suivi SFY-DC").Cells(i, 3)
ActiveSheet.Cells(2, 4).value = Sheets("Suivi SFY-DC").Cells(i, 1)
ActiveSheet.Cells(2, 1).Select
Selection.EntireRow.Insert
ActiveSheet.Cells(2, 1).value = OF_suiviSFY
ActiveSheet.Cells(2, 3).value = Sheets("Suivi SFY-DC").Cells(i, 3)
ActiveSheet.Cells(2, 4).value = Sheets("Suivi SFY-DC").Cells(i, 1)
Else
numero = CInt(numerocompo)
For j = 1 To j = numero Step 1
ActiveSheet.Cells(2, 1).Select
Selection.EntireRow.Insert
ActiveSheet.Cells(2, 1).value = OF_suiviSFY
ActiveSheet.Cells(2, 3).value = Sheets("Suivi SFY-DC").Cells(i, 3)
ActiveSheet.Cells(2, 4).value = Sheets("Suivi SFY-DC").Cells(i, 1)
Next j
End If
Else
End If
Next i
End Sub