Date automatique futur
Fermé
badoche
-
9 avril 2015 à 16:34
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 - 16 avril 2015 à 14:22
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 - 16 avril 2015 à 14:22
A voir également:
- Date automatique futur
- Message automatique thunderbird - Guide
- Logiciel de sauvegarde automatique gratuit - Guide
- Gmail libellé automatique - Guide
- Sommaire automatique word - Guide
3 réponses
Chris 94
Messages postés
50978
Date d'inscription
mardi 8 janvier 2008
Statut
Modérateur
Dernière intervention
17 février 2023
7 341
9 avril 2015 à 16:35
9 avril 2015 à 16:35
Bonjour,
De quoi parles-tu ? Excel et macro ? Usage de VB ou VBA ?
De quoi parles-tu ? Excel et macro ? Usage de VB ou VBA ?
Vaucluse
Messages postés
26496
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
1 avril 2022
6 418
Modifié par Vaucluse le 9/04/2015 à 17:14
Modifié par Vaucluse le 9/04/2015 à 17:14
Bonjour
pour décaler la date de A1 de 6 mois, en B1
=DATE(ANNEE(A1);MOIS(A1)+6;JOUR(A1))
pour signaler que cette date est dépassée, je n'ai pas compris où vous voulez mettre le résultat, mais la formule est:
=SI(ET(B1>0;AUJOURDHUI()>B1);"dépassé";"OK")
ou bien sur directement depuis A1
=SI(ET(A1>0;AUJOURDHUI()>DATE(ANNEE(A1);MOIS(A1)+6;JOUR(A1)));"dépassé";"OK")
mais si vous mettez la date du jour en A1, vous ne dépasserez jamais la date +6, évidemment?
pour info: la date du jour en A1 peut se placer avec la formule:
=AUJOURDHUI()
crdlmnt
Errare humanum est, perseverare diabolicum
pour décaler la date de A1 de 6 mois, en B1
=DATE(ANNEE(A1);MOIS(A1)+6;JOUR(A1))
pour signaler que cette date est dépassée, je n'ai pas compris où vous voulez mettre le résultat, mais la formule est:
=SI(ET(B1>0;AUJOURDHUI()>B1);"dépassé";"OK")
ou bien sur directement depuis A1
=SI(ET(A1>0;AUJOURDHUI()>DATE(ANNEE(A1);MOIS(A1)+6;JOUR(A1)));"dépassé";"OK")
mais si vous mettez la date du jour en A1, vous ne dépasserez jamais la date +6, évidemment?
pour info: la date du jour en A1 peut se placer avec la formule:
=AUJOURDHUI()
crdlmnt
Errare humanum est, perseverare diabolicum
Merci pour votre aide, j'ai finalement réussi à mettre la date six mois plus tard avec cette formule =MOIS.DECALER(A1;6).
Par contre, pour vérifier le dépassement je cherche encore.
Je vais tenter de mieux m'exprimer :
j'ai une date de début en a1 et une date de fin en b1.
Et entre ces deux dates, il ne doit pas y avoir plus de 6 mois d'écart. Sauf qu'elles seront saisies manuellement et j'aurais besoin qu'un message s'affiche en c1 pour dire que ce n'est pas valide.
Par contre, pour vérifier le dépassement je cherche encore.
Je vais tenter de mieux m'exprimer :
j'ai une date de début en a1 et une date de fin en b1.
Et entre ces deux dates, il ne doit pas y avoir plus de 6 mois d'écart. Sauf qu'elles seront saisies manuellement et j'aurais besoin qu'un message s'affiche en c1 pour dire que ce n'est pas valide.
Vaucluse
Messages postés
26496
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
1 avril 2022
6 418
10 avril 2015 à 11:11
10 avril 2015 à 11:11
Essayez avec:
=SI(DATEDIF(A1;B1;"m")&","&DATEDIF(A1;B1;"md"))*1>6;"erreur";"")
mais vous pouvez interdire l'entrée d'une date supérieure de + de 6 mois en B1 via la validation d'Excel
saisir B1 (ou tout le champ B si besoin)
Données/ validation/ personnalisé
entrez la formule:
=(DATEDIF($A1;$B1;"m")&","&DATEDIF($A1;$B1;"md"))*1<=6
en cliquant sur les onglets options der la fenêtre de validation, vous pouvez écrire un message qui s'affichera en cas d'erreur
crdlmnt
=SI(DATEDIF(A1;B1;"m")&","&DATEDIF(A1;B1;"md"))*1>6;"erreur";"")
mais vous pouvez interdire l'entrée d'une date supérieure de + de 6 mois en B1 via la validation d'Excel
saisir B1 (ou tout le champ B si besoin)
Données/ validation/ personnalisé
entrez la formule:
=(DATEDIF($A1;$B1;"m")&","&DATEDIF($A1;$B1;"md"))*1<=6
en cliquant sur les onglets options der la fenêtre de validation, vous pouvez écrire un message qui s'affichera en cas d'erreur
crdlmnt
Vaucluse
Messages postés
26496
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
1 avril 2022
6 418
16 avril 2015 à 14:22
16 avril 2015 à 14:22
DATEDIF(A1;B1;"m") renvoie le nombre de mois complets entre A1 et B1
DATEDIF(A1;B1;"md") renvoie le nombre de jours au delà des mois complets calculés
le &","& permet de concaténer les deux valeurs pour créer un nombre décimal
le *1 permet de numériser ce résultat, car l'assemblage ressort en format texte sans valeur numérique
et vous comprendrez peut être mieux cette formule sans la condition SI en écrivant:
=DATEDIF(A1;B1;"m")&","&DATEDIF(A1;B1;"md"))*1
elle vous donne un nombre décimal composé du nombre de mois complet entre les deux dates plus le nombre de jours qui pourraient dépasser de cet nombre de mois.
avec la condition, si ce résultat est supérieur à 6 le résultat sera "erreur"
Ce calcul permet de situer le débordement des 6 mois en incluant un éventuel nombre de jours entre le 6° et el 7° mois.
Notez toutefois que si vous voulez afficher "erreur" même si l'écart est de 6
exactement, DATEDIF(A1;B1;"m")=>6 suffit
crdlmnt
DATEDIF(A1;B1;"md") renvoie le nombre de jours au delà des mois complets calculés
le &","& permet de concaténer les deux valeurs pour créer un nombre décimal
le *1 permet de numériser ce résultat, car l'assemblage ressort en format texte sans valeur numérique
et vous comprendrez peut être mieux cette formule sans la condition SI en écrivant:
=DATEDIF(A1;B1;"m")&","&DATEDIF(A1;B1;"md"))*1
elle vous donne un nombre décimal composé du nombre de mois complet entre les deux dates plus le nombre de jours qui pourraient dépasser de cet nombre de mois.
avec la condition, si ce résultat est supérieur à 6 le résultat sera "erreur"
Ce calcul permet de situer le débordement des 6 mois en incluant un éventuel nombre de jours entre le 6° et el 7° mois.
Notez toutefois que si vous voulez afficher "erreur" même si l'écart est de 6
exactement, DATEDIF(A1;B1;"m")=>6 suffit
crdlmnt
9 avril 2015 à 16:45
9 avril 2015 à 17:04