Fonction Date en excel 2011 Mac

JNR91

XLDnaute Nouveau
Bonjour,

Je suis récemment passé de excel 2007 PC à excel 2011 Mac.
Certaines macros ne fonctionnent plus comme avant.
En particulier, la fonction Date n'est plus la même.

Sur excel 2007, on peut écrire par exemple :
Dim A as date
A="23/12/2011"
et le tour est joué, on récupère dans A la date normalisée.

Mais il n'en va plus de même sur excel 2011 Mac car l'instruction ci-dessus est refusée.

Après de nombreux essais, recherches en tout genre, j'en suis venu à réécrire une fonction Date qui
convient au problème, plus performante que celle de Microsoft =DATE(an,mois,jour) qui est utilisable seulement dans la feuille de calcul et qui ne traite d'ailleurs pas les dépassements de nombres de jours selon le mois concerné.

Je vous livre ci-dessous le code de ma fonction à toutes fins utiles :

Function DateVB2011(an, mois, jour)
' macro qui retourne le nombre entier correspondant à la date
' créée pour les besoins du passage de excel 2007 à excel 2011
' retourne 1 (correspond à 1/1/1900) si an <1900 ou si mois >12 ou si nb jours incompatible
' avec le numéro de mois ou si 29 fév d'une année non bissextile

Dim T() As Variant
T = Array(0, 0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334)
If an < 1900 Or mois < 1 Or mois > 12 Or jour > 31 Then
DateVB2011 = 1
Exit Function
End If
If ((mois = 4 Or mois = 6 Or mois = 9 Or mois = 11) And jour > 30) Or (mois = 2 And jour > 29) Then
DateVB2011 = 1
Exit Function
End If
CorFev = 0
If ((an - Int(an / 4) * 4) = O) And mois > 2 Then CorFev = 1 ' si année est bissextile

If an > 1900 Then
nb4 = Int((an - 1901) / 4) + 1
Else
nb4 = 0
End If
n = (an - 1900) * 365 + nb4 + jour + T(mois) + CorFev
DateVB2011 = n
End Function
 

JNR91

XLDnaute Nouveau
Re : Fonction Date en excel 2011 Mac

Superbe ! Cela fonctionne en X2011 Mac.

Je suis bluffé car la commande fonctionne aussi bien avec la date libellée avec le texte du mois que dans une écriture de type 12/2/1969. En plus il y a traitement du dépassement de jour du mois.

Merci

Merci
 

Discussions similaires

Réponses
5
Affichages
193

Statistiques des forums

Discussions
312 294
Messages
2 086 895
Membres
103 404
dernier inscrit
sultan87