Excel fonction SI + ajouter mois

Fermé
knaky69 Messages postés 10 Date d'inscription lundi 18 février 2013 Statut Membre Dernière intervention 28 février 2013 - 28 févr. 2013 à 16:56
Raymond PENTIER Messages postés 58423 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 10 mai 2024 - 1 mars 2013 à 06:23
Bonjour,

Je souhaite crée une fonction pour une base de donnée, celle ci doit rajouter x mois à une date en fonction de la durée d'abonnement que le client choisi.
Ex: année = date + 12 mois ; semestre= date + 6.....

J'ai actuellement rentré cette formule:

=SI(ET(Feuil1!P2="Année";DATE(ANNEE(M2);MOIS(M2)+12;JOUR(M2)));(+SI(ET(Feuil1!P2="Semestre";DATE(ANNEE(M2);MOIS(M2)+6;JOUR(M2)));(+SI(ET(Feuil1!P2="Trimestre";DATE(ANNEE(M2);MOIS(M2)+3;JOUR(M2)));(+SI(ET(Feuil1!P2="Mois";DATE(ANNEE(M2);MOIS(M2)+1;JOUR(M2)));"")))))))

Le problème c'est qu'il me met "FAUX" à chaque fois.

Si quelqu'un pouvait m'aider à corriger ça il me sauverait la vie^^

Merci à vous.



A voir également:

2 réponses

Raymond PENTIER Messages postés 58423 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 10 mai 2024 17 105
Modifié par Raymond PENTIER le 1/03/2013 à 06:26
Commence par supprimer les caractères (+ devant les 3 SI ...
et bien entendu les 3 dernières parenthèses !

Ta formule s'écrit alors =SI(ET(Feuil1!P2="Année";DATE(ANNEE(M2);MOIS(M2)+12;JOUR(M2)));SI(ET(Feuil1!P2="Semestre";DATE(ANNEE(M2);MOIS(M2)+6;JOUR(M2)));SI(ET(Feuil1!P2="Trimestre";DATE(ANNEE(M2);MOIS(M2)+3;JOUR(M2)));SI(ET(Feuil1!P2="Mois";DATE(ANNEE(M2);MOIS(M2)+1;JOUR(M2)));""))))
Tu constates alors que le ET est inutile ! En effet la formule
=SI(Feuil1!P2="Année";DATE(ANNEE(M2);MOIS(M2)+12;JOUR(M2));SI(Feuil1!P2="Semestre";DATE(ANNEE(M2);MOIS(M2)+6;JOUR(M2));SI(Feuil1!P2="Trimestre";DATE(ANNEE(M2);MOIS(M2)+3;JOUR(M2));SI(Feuil1!P2="Mois";DATE(ANNEE(M2);MOIS(M2)+1;JOUR(M2));""))))
n'affiche plus FAUX !

Mais je l'aurais un peu simplifiée, en l'écrivant
=DATE(ANNEE(M2); SI(Feuil1!P2="Année";MOIS(M2)+12;SI(Feuil1!P2="Semestre";MOIS(M2)+6;SI(Feuil1!P2="Trimestre";MOIS(M2)+3;SI(Feuil1!P2=Mois;MOIS(M2)+1);MOIS(M2)))); JOUR(M2))
... et elle marche à la perfection !

Cordialement.

C'est bien, la retraite ! Surtout aux Antilles ... :-)
☻ Raymond ♂
0
Raymond PENTIER Messages postés 58423 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 10 mai 2024 17 105
Modifié par Raymond PENTIER le 1/03/2013 à 06:30
... et si tu définis le nom "DL" pour la cellule Feuil1!P2, la formule s'écrira
=DATE(ANNEE(M2); SI(DL="Année";MOIS(M2)+12;SI(DL="Semestre";MOIS(M2)+6;SI(DL="Trimestre";MOIS(M2)+3;SI(DL="Mois";MOIS(M2)+1;MOIS(M2)))); JOUR(M2))

Au cas où ces simplifications (optimisations) de formules de plairaient, on peut aller ancore plus loin en écrivant
=DATE(ANNEE(M2); MOIS(M2)+SI(DL="Année";12;SI(DL="Semestre";6;SI(DL="Trimestre";3;SI(DL="Mois";1;0)))); JOUR(M2))

Mine de rien, on est quand même passés des 266 caractères de ta formule de départ à seulement 111 ...

C'est bien, la retraite ! Surtout aux Antilles ... :-)
☻ Raymond ♂
0