Format Date Comparaison
Résolu
Mathilde
-
pijaku Messages postés 12263 Date d'inscription Statut Modérateur Dernière intervention -
pijaku Messages postés 12263 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
je voulais savoir s'il était possible de comparer deux dates du type "mmmm yyyy".
J'ai fais une macro qui consiste à écrire "prévision" quand la date est supérieure à la date d'aujourd'hui et sinon écrire "Réel".
voici mon bout de code
Quand je fais tourner cette macro, elle m'affiche réel que pour le mois d'août. Par exemple j'ai février 2013, elle m'affiche prévision mais pour août 2013 elle m'affiche Réel! Quelq'un à une idée de comment je dois procéder?
Merci d'avance, bonne journée!
je voulais savoir s'il était possible de comparer deux dates du type "mmmm yyyy".
J'ai fais une macro qui consiste à écrire "prévision" quand la date est supérieure à la date d'aujourd'hui et sinon écrire "Réel".
voici mon bout de code
Sub ColDate() 'Compte le nombre de mois entre la date de début et la date de fin Sheets("Inputs012").Activate Dat1 = Range("D2") Dat2 = Range("E2") Nbre_mois = (Year(Dat2) - Year(Dat1)) * 12 + Month(Dat2) - Month(Dat1) If Day(Dat2) - Day(Dat1) <> 0 Then Nbre_mois = Nbre_mois + 1 End If Annee = Year(Range("D2").Value) Sheets("Feuil1").Activate Range("A1") = Format(Date, "mmmm yyyy") For c = 2 To Nbre_mois + 1 Cells(2, c).Value = DateSerial(Annee, c, 1) Cells(2, c).Value = Format(Cells(2, c).Value, "mmmm yyyy") Next ' Précise si c'est des prévisions ou du réel Sheets("Feuil1").Activate For c = 2 To Nbre_mois + 1 If Cells(2, c).Value > Cells(1, 1).Value Then Cells(1, c).Value = "Prévision" Else: Cells(1, c).Value = "Réel" End If Next c End Sub
Quand je fais tourner cette macro, elle m'affiche réel que pour le mois d'août. Par exemple j'ai février 2013, elle m'affiche prévision mais pour août 2013 elle m'affiche Réel! Quelq'un à une idée de comment je dois procéder?
Merci d'avance, bonne journée!
A voir également:
- Vba comparer deux dates
- Nombre de jours entre deux dates excel - Guide
- Deux ecran pc - Guide
- Comment faire deux colonnes sur word - Guide
- Deux whatsapp sur un téléphone - Guide
- Incompatibilité de type vba ✓ - Forum Programmation
2 réponses
Bonjour,
Fichier excel je suppose.
Plutôt qu'une macro une formule type =SI() serait plus facile à mettre en oeuvre.
Fichier excel je suppose.
Plutôt qu'une macro une formule type =SI() serait plus facile à mettre en oeuvre.
Bonjour,
Pour comparer des dates, il faut...comparer des dates.
Là, ta macro compare "alphabétiquement" si, par exemple mai 2013 est supérieur à aout 2014. La réponse est oui, m est supérieur à a...
Donc, remplace ta ligne :
par :
Pour comparer des dates, il faut...comparer des dates.
Là, ta macro compare "alphabétiquement" si, par exemple mai 2013 est supérieur à aout 2014. La réponse est oui, m est supérieur à a...
Donc, remplace ta ligne :
If Cells(2, c).Value > Cells(1, 1).Value Then
par :
If CDate("01 " & Cells(2, c).Value) > CDate("01 " & Cells(1, 1).Value) Then
en faite dans "A1" je mets la date d'aujourd'hui. Ensuite j'ai fait une macro qui va prendre dans un autre fichier une date de début et une date de fin et par la suite, cette macro va afficher tous les mois de la date du début jusuq'à la date de fin sur ma ligne 2. Par la suite, donc, j'aimerai comparer toutes ces dates avec la date d'aujourd'hui. Et donc écrire soit prévision ou Réel. Je voulais faire par macro parce que mes dates de début et de fin peuvent changer donc du coup le nombre de dates sur ma ligne 2 n'est pas fixe aussi. Je sais pas si claire ou pas.
une fois la macro lancée, les dates de début et de fin sont copiées sur la ligne 2.
Mais vous voulez écrire Prévision ou Réel où ?