Bonjour
essayez votre code comme ceci
Sub test()
Dim numero As Byte
Dim dlg As Integer
'copier les données de "données de base initial" vers "données de base"
With Sheets("données de base")
'.Cells.ClearContents 'pour effacer les données avant réimportation
Sheets("données de base initial").Cells.Copy .Range("A1")
For numero = 4 To 17
.Cells(2, numero - 2).FormulaR1C1 = "=IF(ISERROR(VLOOKUP(RC1,absences!C1:C200," & numero & ",FALSE)=""""),IF('données de base initial'!RC="""","""",'données de base initial'!RC),IF(VLOOKUP('données de base'!RC1,absences!C1:C200," & numero & ",FALSE)="""",IF('données de base initial'!RC="""","""",'données de base initial'!RC),VLOOKUP('données de base initial'!RC1,absences!C1:C200," & numero & ",FALSE)))"
Next numero
dlg = .Range("A" & Rows.Count).End(xlUp).Row
.Range("B2:O2").AutoFill Destination:=.Range("B2:O" & dlg), Type:=xlFillDefault
End With
End Sub
NB : pour moi il serait bon de faire un Clearcontents sur la feuille Base de données avant de réimporter les données. J'ai placé l'instruction mais est désactivée
Si ok et terminé pensez à
Cordialement