le code principal commenté :
Sub btnCreerF()
Dim datas, shDate As Worksheet
Dim lig As Long, c1 As Range, c2 As Range, supprim As Boolean
supprim = MsgBox("Supprimer les feuilles existantes ?", vbQuestion + vbYesNo) = vbYes
Application.ScreenUpdating = False
Set shDate = Sheets("Feuil1")
' lire les données
datas = [A2].Resize(Cells(Rows.Count, 1).End(xlUp).Row - 1, 3).Value
' pour chaque ligne de données
For lig = 1 To UBound(datas)
' si la feuille a été crée
If creerFeuille(datas(lig, 1), supprim, False) Then ' feuille à créer ?
With Sheets(datas(lig, 1))
' rechercher date1
Set c1 = shDate.[A:A].Find(datas(lig, 2), LookIn:=xlFormulas, lookat:=xlWhole)
' rechercher date2
Set c2 = shDate.[A:A].Find(datas(lig, 3), LookIn:=xlFormulas, lookat:=xlWhole)
If c1 Is Nothing Or c2 Is Nothing Then
' si une date non trouvée
MsgBox "Date absente pour " & datas(lig, 1)
Else
' si les 2 dates sont trouvées
Sheets(datas(lig, 1)).[A1] = "Date" ' titre
' copier-coller la série de dates
shDate.Range(c1, c2).Copy Sheets(datas(lig, 1)).[A2]
End If
End With
End If
Next lig
End Sub
J'ai oublié de te dire.
Au cours des tests parfois une date existante n'était pas trouvée (problème bizarre... déphasage aléatoire ??)
Si ça t'arrive aussi il suffit de relancer en conservant les feuilles, ça arrive rarement