Trouver dernier jour mois précédent
Résolu/Fermé
a51432
Messages postés
37
Date d'inscription
lundi 13 juillet 2015
Statut
Membre
Dernière intervention
20 octobre 2015
-
Modifié par a51432 le 2/09/2015 à 15:33
PlacageGranby Messages postés 393 Date d'inscription mercredi 26 mars 2014 Statut Membre Dernière intervention 7 mars 2019 - 2 sept. 2015 à 16:04
PlacageGranby Messages postés 393 Date d'inscription mercredi 26 mars 2014 Statut Membre Dernière intervention 7 mars 2019 - 2 sept. 2015 à 16:04
A voir également:
- Vba dernier jour du mois
- Mise a jour chrome - Accueil - Applications & Logiciels
- Dernier iphone - Guide
- Mettre à jour ses pilotes - Guide
- Mise a jour windows 10 - Accueil - Mise à jour
- Mise a jour chromecast - Accueil - Guide TV et vidéo
3 réponses
Zoul67
Messages postés
1959
Date d'inscription
lundi 3 mai 2010
Statut
Membre
Dernière intervention
30 janvier 2023
149
2 sept. 2015 à 15:50
2 sept. 2015 à 15:50
Bonjour
last = DateSerial(Year(Date), Month(Date), 1) - 1
A+
last = DateSerial(Year(Date), Month(Date), 1) - 1
A+
a51432
Messages postés
37
Date d'inscription
lundi 13 juillet 2015
Statut
Membre
Dernière intervention
20 octobre 2015
1
2 sept. 2015 à 15:58
2 sept. 2015 à 15:58
Merci beaucoup ça fonctionne !
PlacageGranby
Messages postés
393
Date d'inscription
mercredi 26 mars 2014
Statut
Membre
Dernière intervention
7 mars 2019
26
Modifié par PlacageGranby le 2/09/2015 à 16:04
Modifié par PlacageGranby le 2/09/2015 à 16:04
Bonjour,
Quelques petites erreur.
Ne donnera pas une date mais une chaine texte.
Il faut utiliser Cdate() pour convertir la chaine texte en date.
Aussi, un backslash \ n'est pas reconnu comme délimiteur de date dans excel.
C'est soit le slash / ou le tiret -
Donc
Dernière subtilitée
VBA n'assigne pas toute les variable comme étant une énumération du même type.
Ta déclaration, First sera un type variant, et Last sera une date.
Il n'y aura pas d'erreur même si First est un variant, mais j'imagine que le type variant consomme plus de mémoire et ton code est moins optimisé.
Quelques petites erreur.
first = "01\" & MoisCh & "\" & année
Ne donnera pas une date mais une chaine texte.
Il faut utiliser Cdate() pour convertir la chaine texte en date.
Aussi, un backslash \ n'est pas reconnu comme délimiteur de date dans excel.
C'est soit le slash / ou le tiret -
Donc
Dim année Dim MoisCh As String Dim first as date, last As Date année = Year(Now()) MoisCh = Format(Now(), "mm") first = cdate("01/" & MoisCh & "/" & année) last = first - 1
Dernière subtilitée
Dim first, last As Date
VBA n'assigne pas toute les variable comme étant une énumération du même type.
Ta déclaration, First sera un type variant, et Last sera une date.
Il n'y aura pas d'erreur même si First est un variant, mais j'imagine que le type variant consomme plus de mémoire et ton code est moins optimisé.