Sub TestFind2()
Dim Pl As Range, i As Byte, c, Prem, MonFormat, NouvFormat, TypeForm
Set Pl = Sheets("Feuil1").Range("Q2:Q14")
MonFormat = [calend].NumberFormat 'récupérer le format de nombre de la plage de traitement
NouvFormat = Pl.NumberFormat 'récupérer le format de nombre de la plage de comparaison
With [calend]
.NumberFormat = NouvFormat
End With
TypeForm = InStr(1, NouvFormat, "@")
For i = 1 To Pl.Rows.Count
'MsgBox Pl(i, 1).Text
'MsgBox Pl(i, 1).Value
With [calend]
'Set c = .Find(Pl(i, 1).Text, LookIn:=xlValues, lookat:=xlWhole)
Set c = IIf(TypeForm = 0, .Find(Pl(i, 1), LookIn:=xlValues, lookat:=xlWhole), .Find(Pl(i, 1).Text, LookIn:=xlValues, lookat:=xlWhole))
If Not c Is Nothing Then Prem = c.Address
'--suite de mon code
End With
Next i
With [calend]
.NumberFormat = MonFormat 'rétablissement du format de nombre initial
End With
End Sub