Function MaFormule(xCell As Range) As String
'-
'- retourne la formule à introduire
'- xcell est la cellule source
'-
Dim formule As String, adresse As String
' Définition de la formule (l'adrese A1 a été remplacée par le texte µµ)
formule = _
"=(SIERREUR(DATE(STXT(µµ;CHERCHE("","";µµ)+2;4);MOIS(GAUCHE(µµ;CHERCHE("" "";µµ)-1)&1);STXT(µµ;CHERCHE("" "";µµ)+1;CHERCHE("","";µµ)-(" & _
"CHERCHE("" "";µµ)+1)))+SI(ET(TEMPSVAL(STXT(µµ;CHERCHE("":"";µµ)-2;2)&"":""&STXT(µµ;CHERCHE("":"";µµ)+1;2))>""11:59""*1;ESTNUM(CHERCHE(" & _
"""avant"";µµ)));TEMPSVAL(STXT(µµ;CHERCHE("","";µµ)+6;6))-(""12:00""*1);SI(OU(ET(TEMPSVAL(STXT(µµ;CHERCHE("":"";µµ)-2;2)&"":""&STXT(µµ;" & _
"CHERCHE("":"";µµ)+1;2))>""11:59""*1;ESTNUM(CHERCHE(""ap"";µµ)));ESTNUM(CHERCHE(""avant"";µµ)));TEMPSVAL(STXT(µµ;CHERCHE("","";µµ)+6;6));" & _
"TEMPSVAL(STXT(µµ;CHERCHE("","";µµ)+6;6))+(""12:00""*1)));DATE(STXT(µµ;CHERCHE("","";µµ)+2;4);MOIS(GAUCHE(µµ;CHERCHE("" "";µµ)-1)&1);" & _
"STXT(µµ;CHERCHE("" "";µµ)+1;CHERCHE("","";µµ)-(CHERCHE("" "";µµ)+1)))+SI(ET(TEMPSVAL(STXT(µµ;CHERCHE("":"";µµ)-2;2)&"":""&STXT(µµ;" & _
"CHERCHE("":"";µµ)+1;2))>""11:59""*1;ESTNUM(CHERCHE(""avant"";µµ)));TEMPSVAL(STXT(µµ;CHERCHE("","";µµ)+6;5))-(""12:00""*1);SI(OU(ET(" & _
"TEMPSVAL(STXT(µµ;CHERCHE("":"";µµ)-2;2)&"":""&STXT(µµ;CHERCHE("":"";µµ)+1;2))>""11:59""*1;ESTNUM(CHERCHE(""ap"";µµ)));ESTNUM(CHERCHE" & _
"(""avant"";µµ)));TEMPSVAL(STXT(µµ;CHERCHE("","";µµ)+6;5));TEMPSVAL(STXT(µµ;CHERCHE("","";µµ)+6;5))+(""12:00""*1)))))*1"
' le texte µµ est remplacé par l'adresse de la cellule source
' au format Lettre-Chiffre et relatif (sans signe $)
MaFormule = Replace(formule, "µµ", xCell(1, 1).Address(0, 0, xlA1))
End Function