1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
|
Const QT = """"
Sub Traduire_la_formule()
'EXEMPLE DE FORMULE qui se trouve dans la colonne b
'=IF(TODAY()>=DATE(2011,12,15),$N$4,"")
For Each cel In Range("c5:c35") '.Cells
letexto = cel.Formula
Select Case Left(cel.Formula, 18)
Case "=IF(TODAY()>=DATE("
debut = "if cdate(date)>= "
'si il y a des dollards sa veut dire que se sont des adresses de cellulessinon se sont certainement des valeurs numerique ou texte
resultat_si_vrai = IIf(InStr(letexto, "$"), Split(letexto, ",")(3) & ".value", Split(letexto, ",")(3))
datedecomparaison = Replace(Split(Split(letexto, "(")(3), ")")(0), ",", "/")
datedecoupé = Split(datedecomparaison, "/")
datedecomparaison = "Cdate (" & QT & 15 & "/" & datedecoupé(1) & "/" & datedecoupé(0) & QT & ")"
letexte = letexte & debut & datedecomparaison & " then " & Replace(cel.Address, "$", "") & ".value = " & Replace(resultat_si_vrai, "$", "") & vbCrLf
Debug.Print debut & datedecomparaison & " then " & Replace(cel.Address, "$", "") & ".value = " & Replace(resultat_si_vrai, "$", "") & vbCrLf
End Select
Debug.Print letexte |
Partager