OVH Cloud OVH Cloud

format perso sur fonction vba excel

5 réponses
Avatar
le breton
bonjour,
Je n'arrive pas =E0 creer un format pers dans vba =E0 partir=20
d'une fonction VBA, c=E0 marche si j'active une macro mais=20
pas depuis la fonction VBA. Comment faire!
Voici la fonction:

Function Age(dn)
Age =3D Int((Date - dn) / 365.25)
Selection.NumberFormat =3D "[>=3D2]0"" Ans"";0"" Ans"""
End Function

je n'obtients pas le ans dans la cellule

5 réponses

Avatar
Michel HOLDERITH
Salut,
avec ca :
Selection.NumberFormat = "##0_ ""Ans"""
a adapter avec ta formule
@+
Michel.

"le breton" wrote in message
news:0cb901c3a3a9$0e3d6150$
bonjour,
Je n'arrive pas à creer un format pers dans vba à partir
d'une fonction VBA, cà marche si j'active une macro mais
pas depuis la fonction VBA. Comment faire!
Voici la fonction:

Function Age(dn)
Age = Int((Date - dn) / 365.25)
Selection.NumberFormat = "[>=2]0"" Ans"";0"" Ans"""
End Function

je n'obtients pas le ans dans la cellule
Avatar
Michel HOLDERITH
J'ai teste ton truc... tout me semble correcte ???? il m'affiche bien les
ans... negatif ou pas.....
@+
Michel.


"le breton" wrote in message
news:0cb901c3a3a9$0e3d6150$
bonjour,
Je n'arrive pas à creer un format pers dans vba à partir
d'une fonction VBA, cà marche si j'active une macro mais
pas depuis la fonction VBA. Comment faire!
Voici la fonction:

Function Age(dn)
Age = Int((Date - dn) / 365.25)
Selection.NumberFormat = "[>=2]0"" Ans"";0"" Ans"""
End Function

je n'obtients pas le ans dans la cellule
Avatar
AV
Je n'arrive pas à creer un format pers dans vba à partir
d'une fonction VBA,


Une fonction ne peut que renvoyer qu'un résultat et non avoir une quelconque
action sur une cellule
Donc, que je sache, pour formater par une fonction, ben.ça fait pas !

PS : ta fonction ne se met pas à jour à la date anniversaire
AV

Avatar
Papyty
Salut @ Tous, le breton a écrit:
bonjour,
Je n'arrive pas à creer un format pers dans vba à partir
d'une fonction VBA, cà marche si j'active une macro mais
pas depuis la fonction VBA. Comment faire!
Voici la fonction:

Function Age(dn)
Age = Int((Date - dn) / 365.25)
Selection.NumberFormat = "[>=2]0"" Ans"";0"" Ans"""
End Function

je n'obtients pas le ans dans la cellule


Bon je n'ai peut etre pas tout compris mais est ce que ça te convient?

Function Age(dn)
Application.Volatile
Age = Int((Date - dn) / 365.25)
Select Case Age
Case Is > 1
Age = Age & " Ans"
Exit Function
Case Is < -1
Age = Age & " Ans"
Case Else
Age = Age & " An"
End Select
End Function

--
@+
Thierry

Avatar
Denis Michon
Bonjour LeBreton,


Si tu engendres trop de fil, tu vas finir par perdre la "bonne solution" !!!

;-)


Range("A2").NumberFormat = "[>1]0"" ans"";[<-1]-0"" ans"";0"" an"""



Salutations!



"le breton" a écrit dans le message de
news:0cb901c3a3a9$0e3d6150$
bonjour,
Je n'arrive pas à creer un format pers dans vba à partir
d'une fonction VBA, cà marche si j'active une macro mais
pas depuis la fonction VBA. Comment faire!
Voici la fonction:

Function Age(dn)
Age = Int((Date - dn) / 365.25)
Selection.NumberFormat = "[>=2]0"" Ans"";0"" Ans"""
End Function

je n'obtients pas le ans dans la cellule