Option Explicit
Const MSGNREXIST As String = "Ce numéro de RENCONTRE existe déjà ! Voulez vous le modifier ?"
Const MSGNONR As String = "Si c'est une nouvelle rencontre ! Voulez-vous poursuivre ?"
Sub Archiver()
'
Dim TBf As Worksheet, TBa As Worksheet, ZZ As Range, i As Integer
'
Set TBa = ThisWorkbook.Worksheets("Archives")
Set TBf = ThisWorkbook.Worksheets("Formulaire")
Application.ScreenUpdating = False
If IsEmpty(TBf.[no_dossier]) Then 'Si absence de numéro de dossier
If Not MsgBox(MSGNONR, vbQuestion + vbYesNo + vbDefaultButton2) = vbNo Then
End If
TBf.Range("D1").Value = TBf.Range("A3").Value + 1
'Exit Sub
End If
Set ZZ = TBa.Columns(1).Find(what:=TBf.[no_dossier].Value)
If ZZ Is Nothing Then
Set ZZ = TBa.Cells(16384, 1).End(xlUp).Offset(1, 0) 'Ligne pour nouvelle entrée
Else
If Not MsgBox(MSGNREXIST, vbQuestion + vbYesNo) = vbYes Then Exit Sub 'Ne pas remplacer l'entrée existante
End If
'Copie de toutes les données
Application.ScreenUpdating = False
'copie n°dossier
ZZ.Value = TBf.[no_dossier].Offset(i, 0).Value