Microsoft 365 Si cellule A1 contient date et B1 ...

Sitoun

XLDnaute Nouveau
Bonjour,
Je souhaite créer une formule (dans la cellule c1) qui vérifie deux conditions:

Si ma cellule A1 contient une date et que ma cellule B1 contient "#N/A" ou "#DIV0!" alors ma cellule C1 = A1 (donc la date indiquée dans cette cellule)
ET
Si ma cellule A1 contient "#N/A" ou "#DIV0!" et que ma cellule B1 contient une date alors ma cellule C1 = B1 (donc la date indiquée dans cette cellule)

Quelqu'un pourrait-il m'aider svp ?

PS : Je suis sur Windows 10

Merci par avance
 

Pièces jointes

  • Si A1 egale date alors A1.xlsx
    15.4 KB · Affichages: 8

Jocelyn

XLDnaute Barbatruc
Bonjour le Forum,
Bonjour Sitoum,

a tester en C2

VB:
=SIERREUR(SI(ESTNUM(A2);A2;B2);"")

la formule gère les NA dans les 2 cellules en ne mettant rien mais ne gère pas une date dans les 2 cellules du moins elle indique la date de la cellule de la colonne A

Cordialement
 

Sitoun

XLDnaute Nouveau
Bonjour le Forum,
Bonjour Sitoum,

a tester en C2

VB:
=SIERREUR(SI(ESTNUM(A2);A2;B2);"")

la formule gère les NA dans les 2 cellules en ne mettant rien mais ne gère pas une date dans les 2 cellules du moins elle indique la date de la cellule de la colonne A

Cordialement


Merci Jocelyn ! ça fonctionne parfaitement bien !
Mais du coup, comment se lit ta formule ? : si A2 contient un nombre alors A2 sinon si il y a une erreur alors B2?
 

Sitoun

XLDnaute Nouveau
Bonjour,

Et quand il y a deux dates ?

Sinon à tester =SI(ESTERREUR(A2);B2;A2)

Cordialement.

Bonjour Goube,
Quand il y a deux date, je veux juste garder la date la plus ancienne. Du coup j'utilise une formule simple qui dit si A2<B2 alors A2 sinon B2
Du coup, maintenant j'essaie de combiner les deux formules afin que le résultat soit: soit la date la plus ancienne, soit la date de la cellule sans erreur.

Merci !
 
Dernière édition:

Jocelyn

XLDnaute Barbatruc
re,

ma formule se lit si A2 est numérique alors B2 et le sierreur est ajouté fonctionne par le fait que si A2 n'est pas numérique on prend B2 mais si B2 est en erreur on ne met rien

pour reprendre ton cheminement

si A2 contient un nombre alors A2 sinon si il y a une erreur alors B2? et encore si B2 erreur aussi alors rien

Cordialement
 

Sitoun

XLDnaute Nouveau
Merci Jocelyn ! ça fonctionne parfaitement bien !
Mais du coup, comment se lit ta formule ? : si A2 contient un nombre alors A2 sinon si il y a une erreur alors B2?


Par contre, si je veux combiner les deux formules (si la cellule A2 est inférieur à la cellule B2 alors A2, sinon si erreur dans une des deux cellule alors indiquer la date de la cellule sans erreur). Sais-tu comment je dois m'y prendre ?
J'ai essayé de combiner mais ça ne va pas:
=SI(B2<A2;B2;A2);SI(ESTERREUR(A2);B2;A2)
 

xUpsilon

XLDnaute Accro
Bonjour,

Tu n'as visiblement pas bien compris comment fonctionne la fonction SI, donc voici les arguments :
SI (test ; ValeurSiTest = Vrai ; ValeurSiTest = Faux). En mettant un ; entre deux SI ici, tu testes en fait deux conditions sans lien entre eux, sauf que tu veux justement tester l'un uniquement si l'autre est faux.

Voici donc une possibilité : =SI(A2 < B2 ; A2 ; SI(ESTERREUR(A2) ; B2 ; SI(ESTERREUR(B2) ; A2 ; "")))
En revanche tu ne traites pas le cas B2 > A2 et B2 et A2 non erreurs.

Bonne continuation
 

Sitoun

XLDnaute Nouveau
Bonjour,

Tu n'as visiblement pas bien compris comment fonctionne la fonction SI, donc voici les arguments :
SI (test ; ValeurSiTest = Vrai ; ValeurSiTest = Faux). En mettant un ; entre deux SI ici, tu testes en fait deux conditions sans lien entre eux, sauf que tu veux justement tester l'un uniquement si l'autre est faux.

Voici donc une possibilité : =SI(A2 < B2 ; A2 ; SI(ESTERREUR(A2) ; B2 ; SI(ESTERREUR(B2) ; A2 ; "")))
En revanche tu ne traites pas le cas B2 > A2 et B2 et A2 non erreurs.

Bonne continuation

Bonjour xUpsilon,
Merci pour ta réponse, mais je voudrais traiter en premier lieu la condition : si A2<B2 alors A2 sinon B2. Je voudrais ceci en entier. Ensuite seulement je voudrais tester la question de l'erreur dans une des deux cellule (juste au cas où la première condition ne ressort aucun résultat).
Dans ta réponse il me manque le cas où A2>B2

Du coup je viens de faire un autre essai, qui ne fonctionne toujours pas (ça me donne : #DIV/0!):
=SI(A2<B2;A2);SI(A2>B2;B2);SI(ESTERREUR(A2);B2;A2)

Merci
 

xUpsilon

XLDnaute Accro
Re,

Le problème est que si on commence la formule par comparer des valeurs alors on compare une erreur, donc ça renvoie directement une erreur.
Il faut donc tester en premier lieu si c'est une erreur.
Bref essaye avec ceci :

=SI(ESTERREUR(A2);B2;SI(ESTERREUR(B2);A2;SI((A2<B2);A2;B2)))

Bonne continuation
 

Sitoun

XLDnaute Nouveau
Re,

Le problème est que si on commence la formule par comparer des valeurs alors on compare une erreur, donc ça renvoie directement une erreur.
Il faut donc tester en premier lieu si c'est une erreur.
Bref essaye avec ceci :

=SI(ESTERREUR(A2);B2;SI(ESTERREUR(B2);A2;SI((A2<B2);A2;B2)))

Bonne continuation

Alors là, c'est parfait :)
Merci infiniment !
Et merci pour l'explication surtout...

Bonne continuation à toi!
 

Discussions similaires

Réponses
3
Affichages
212

Statistiques des forums

Discussions
312 087
Messages
2 085 198
Membres
102 815
dernier inscrit
Henridic