Excel fonction si avec date

Fermé
Rhl - 1 mars 2008 à 23:07
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 - 2 mars 2008 à 00:21
Bonjour,

Je n'arrive pas à résoudre un problème avec une formule dans excel.

J'aimerais que, si dans la cellule D33 il y a une date(quelle qu'elle soit) et que la cellule E33 est vide, alors mettre la cellule C33. Mais j'ai un problème avec la date car je ne sais pas quoi inscrire.

Voici la formule que j'ai tapée : =SI(ET(Ctlm!D33="DATE";Ctlm!E33="");+Ctlm!C33;0)

Je vous remercie.

Bonne soirée
A voir également:

9 réponses

Fxbrg Messages postés 710 Date d'inscription samedi 17 mars 2007 Statut Membre Dernière intervention 16 novembre 2013 199
1 mars 2008 à 23:29
Bonsoir,

Peut-il y avoir autre chose qu'une date en D33?
0
Non, c'est obligatoirement une date.

Je vous remercie

Rhl
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 708
1 mars 2008 à 23:33
bonjour

Essaies plutôt ceci :
=SI(ET(NON(ESTERREUR(JOUR(Ctlm!D33)));Ctlm!E33="");Ctlm!C33;0)

Il n'y a pas de formule comme en macro pour tester que c'est une date mais si tu essaies de trouver le jour d'une cellule qui n'est pas une date, tu sors en erreur.
0
Merci beaucoup, ça fonctionne.

Bonne soirée

Rhl
0
Bonjour,

Je ne connais pas de formule qui reconnaisse le format de données dans une cellule ( date ou nombre ou texte )
mais si la cellule Ctln!D33 est toujours une date alors cette formule fera l'affaire
=SI(ET(Ctlm!D33<>"";Ctlm!E33="");Ctlm!C33;0)

Bonne soirée.
0
Je viens d'essayer et ça fonctionne aussi.

Je vous remercie pour votre aide

Bonne soirée

Rhl
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 708 > Rhl
2 mars 2008 à 00:10
bonjour

=SI(ET(Ctlm!D33<>"";Ctlm!E33="");Ctlm!C33;0)

Cette formule fonctionne bien sûr mais si tu fais une erreur de saisie de date en tapant du texte par exemple ou en oubliant les séparateurs dans la date, rien ne sera contrôlé !
0
Fxbrg Messages postés 710 Date d'inscription samedi 17 mars 2007 Statut Membre Dernière intervention 16 novembre 2013 199
1 mars 2008 à 23:39
J'ai trouvé :-)

Il faut utiliser le test avec la fonction Cellule("format"; a1); Selon la format de la date, tu récupères un code (D1 par exemple si la date est au format jj-mm-aaaa). Regarde dans l'aide de la fonction cellule, tout est dit :-)

:-)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 708
2 mars 2008 à 00:02
bonjour Fxbrg,

Il faut utiliser le test avec la fonction Cellule("format"; a1); Selon la format de la date, tu récupères un code (D1 par exemple si la date est au format jj-mm-aaaa).

Tu as tout à fait raison d'évoquer cette fonction peu utilisée mais elle ne rempli pas bien son rôle :
- tu rentres dans la cellule 1/3/8 et tu obtiens D1 car le format date a été appliqué.
- Maintenant saisis dans la même cellule "12345678"
- tu vas avoir des # d'affichage mais ta formule arbore toujours fièrement D1
- il en est de même si tu saisis du texte car la cellule a conservé le format date.

Ce n'est donc pas fiable pour tester le contenu de la cellule.
0
Fxbrg Messages postés 710 Date d'inscription samedi 17 mars 2007 Statut Membre Dernière intervention 16 novembre 2013 199
2 mars 2008 à 00:04
Si, il est dit dans l'aide qu'il faut recalculer la feuille en cas de changement de format... (F9). Je me dis que normalement, une fois rentrée et d'autant plus si on n'attend qu'une date, on ne va changer le format de la cellule...

:-)
0
Fxbrg Messages postés 710 Date d'inscription samedi 17 mars 2007 Statut Membre Dernière intervention 16 novembre 2013 199
2 mars 2008 à 00:06
Si l'argument type_info de la formule CELLULE est « format » et que, par la suite, la cellule est mise en forme à l'aide d'un format personnalisé, vous devez recalculer la feuille de calcul pour mettre à jour la formule CELLULE.
0
Fxbrg Messages postés 710 Date d'inscription samedi 17 mars 2007 Statut Membre Dernière intervention 16 novembre 2013 199
2 mars 2008 à 00:19
Oops désolé gbinforme, j'avais lu ta remarque trop vite... :-)

Effectivement, la fonction est d'autant moins fiable que si tu ne mets rien mais garde la mise en forme, elle ne dit rien...pas top!

Il est tard, bonne nuit à tous,

:-)
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 708
2 mars 2008 à 00:21
bonjour

On est bien d'accord cette formule restitue le format (sans tenir compte de façon explicite du changement car le format ne déclenche pas le calcul ) mais tu ne peux en aucune manière tester le contenu de la cellule.

Si dans cette cellule tu dois vérifier la présence d'une date pour calculer un age par exemple, si tu mets ta formule :
=SI(CELLULE("format";A1)="D1";B1-A1;"erreur")
elle va te donner #valeur! au lieu du résultat attendu : ton contrôle n'a pas de valeur car il ne donne que le format.
0