Microsoft 365 Fonction certainement très particulière

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Bonjour à toutes et à tous,
Je vous souhaite une belle journée :)

Je n'arrive pas à faire cette formule (fonction) malgré toutes mes recherches et tentatives.
Je fais appel, une fois de plus à nos ténors et magiciens :)

Je dois faire un rappel de confirmation des rdvs du jour (sms chaque jour le matin).
Pour cela j'ai besoin d'une alerte.

Dans le fichier test joint, j'ai de la ligne 2 à 11 des RdVs qui ont été confirmés le jour de la prise des RdVs (col A),
Les textes en col "C" contiennent les dates et heures des RdVs.
Je jour des RdVs voudrais obtenir le résultat suivant :
1641633407424.png

Ou en col "F" de chaque ligne

Auriez-vous la bonne formule ?
Pas contre du VBA :)
Entre temps, je continue mes recherches.
Un grand merci à toutes et tous,
Amicalement,
lionel,
 

Pièces jointes

  • test.xlsm
    34.7 KB · Affichages: 6
Dernière édition:

TooFatBoy

XLDnaute Barbatruc
Bonjour,

Ca fait pourtant 200 fois qu'on te dit qu'il faut écrire tes dates avec le slash comme séparateur pour simplifier les formules et ne plus être embêté avec ça ; Et autant de fois qu'on te donne la même formule avec le SUBSTITUE. ;)

Ceci dit, cette fois tu as un peu changé : tu as utilisé l'espace au lieu de ton habituel point comme séparateur. ;)
C'est vrai que du coup ça change la formule. 😂


Bonne journée le Yoyo
🖖
 

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Re-Bonjour à toutes et à tous,

Encore merci à Dranreb pour son code qui m'a permis d'avancer sur mon besoin :)

Toutefois, je n'avais pas présenté "complètement" là où je voulais en arriver.

Quand j'ai posté, je suis parti de la configuration suivante :
J'ai préparé "le terrain" avec la formule de "B14 à B23" avec
la formule "=SUBSTITUE(SUPPRESPACE(GAUCHE(STXT(D2;74;82);8));" à";"")"

- de "D14 à D23" avec
- la formule de Dranreb =SI(DATEVAL(SUBSTITUE(B14;" ";"/"))=AUJOURDHUI();"à confirmer";"fait")
Complète l'obtention du résultat souhaité

Partant de cette configuration, j'ai voulu tout faire en une seule formule et je pense avoir réussi :
- de "D27 à D36" avec
la formule "=SI(DATEVAL(SUBSTITUE(SUBSTITUE(SUPPRESPACE(GAUCHE(STXT(D2;74;82);8));" à";"");" ";"/"))=AUJOURDHUI();"à confirmer";"fait")"

Cette formule est très importante pour moi car si elle présente des imperfections, certains RdVs ne seront pas confirmés le bon jour.

Il me semble que mes tests sont concluants, toutefois la vérification par nos ténors serait la bienvenue.
Où peut-être est-il possible de faire plus simple ?

Je joins le fichier test.
Je vous remercie :)
lionel,
 

Pièces jointes

  • test.xlsm
    25.6 KB · Affichages: 2

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Encore merci Dranreb :)

Il y a 2 cas :

- Si le RdV est pris la veille, il y aura "appellera demain"
Dans ce cas, le RdV ne sera pas à rappeler demain (car très proche de demain).
Pas besoin d'alerte

- Si le RdV est pris plusieurs jours avant il y aura "appellera le"
Dans ce cas, le Rdv est à rappeler le jour du RdV (car souvent le RdV est oublié)
Besoin de l'alerte

En fait, j'essaie de trouver comment faire pour :
- Si le RdV est pris la veille, il y aura "appellera demain" = "Fait"
- Si le RdV est pris plusieurs jours avant il y aura "appellera le" = "à confirmer"
lionel,
 

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Re :)

Cette formule fonctionne :
=SI(NB.SI(C53;"*appellera le*");"oui";"")
Elle permet de vérifier si "appellera le" est contenu dans la cellule.

Dans ce cas mon résultat de la formule :
- =SI(DATEVAL(SUBSTITUE(SUBSTITUE(SUPPRESPACE(GAUCHE(STXT(C64;79;87);8));" à";"");" ";"/"))=AUJOURDHUI();"à confirmer";"fait") si contenu = confirmer" si pas contenu = 'fait"

Me reste à trouver comment combiner lol
 

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Re-Bonjour,

Avec l'aide de Dranreb que je remercie encore, je crois que je m'en suis sorti (enfin, je crois).
Nul que je suis, il m'aura fallu la journée ... si c'est bon ? lol

Trois situations peuvent se produire, la cellule peut contenir :
1 - appellera ce jour (position C2;83;91),
2 - appellera demain (position C2;83;91),
3 - appellera le (position C2;79;87),

Ce qui donne (sauf erreur) la formule suivante :
=SI(ESTNUM(CHERCHE("appellera ce jour";C2))=VRAI;DATEVAL(SUBSTITUE(SUBSTITUE(SUPPRESPACE(GAUCHE(STXT(C2;83;91);8));" à";"");" ";"/"));SI(ESTNUM(CHERCHE("appellera demain";C2))=VRAI;DATEVAL(SUBSTITUE(SUBSTITUE(SUPPRESPACE(GAUCHE(STXT(C2;83;91);8));" à";"");" ";"/"));SI(ESTNUM(CHERCHE("appellera le";C2))=VRAI;DATEVAL(SUBSTITUE(SUBSTITUE(SUPPRESPACE(GAUCHE(STXT(C2;79;87);8));" à";"");" ";"/")))))

Un peu lourd comme formule lol ... y'aurait pas plus court ? 🙃:p
Merci à tous,
lionel,
 

Discussions similaires

Réponses
22
Affichages
1 K

Statistiques des forums

Discussions
312 104
Messages
2 085 347
Membres
102 868
dernier inscrit
JJV