Alors j'explique la logique de la UserForm et ensuite le pb rencontré.
L'utilisateur a deux solutions de saisies.
1/ Saisir une date de signature (colonne I) ET une Date de Fin (Colonne J); OU
2/ Saisir une date de signature (colonne I) ET une durée (en nombre de mois) (colonne K).
Il faut également saisir obligatoirement une période de préavis (colonne L); ou cliquer sur Reconduction tacite (colonne M)
Ensuite un calcul se fait dans la colonne N afin de calculer la date de Préavis
Dans la logique le calcul ne se fait en N que sur test de la colonne A si une info est renseignée SI(ESTVIDE(A3)
- ensuite, si une date de fin est renseignée en J, alors le calcul à venir en N est une date de préavis = date de fin J - période de préavis L.
- sinon la date de préavis calculée en N est Date de signature I + durée K - durée de préavis L
Ca c'est pour le calcul.
Ensuite il y a un affichage conditionné sur la colonne N qui vient comparée la date résultat N et la date du jour. Si Date du Jour est supérieure à date Calculée, = affichage en rouge. Dans une étape ultime, je souhaiterai qu'à l'ouverture du fichier, un message mail soit envoyée à une adresse mail programmée.
L'erreur rencontrée.
Si je saisis les valeurs à la main dans le tableau excel, les calculs fonctionnent. N est correct
Si je saisis les valeurs par la UserForm, la première logique fonctionne car il y a bien une valeur en J
PAR CONTRE, en testant la deuxième logique N = I + K -L, j'ai un joli "#valeur"... En cherchant je me suis rendu compte que cela vient du test de la case J. Comme si la Userform remplissait la case avec une valeur vide. Car il suffit d'effacer cette case pour que le calcul devienne bon. D'accord il serait possible d'inverser la logique de test sur la case pour y arriver, mais bon.....
D'où ma question, comment faire la saisie pour que les champs non renseignés soient bien vides ??? Et pas comme si il y avait quelque chose, mais il y a rien ...
Questions subsidiaires :
- pb de formatage de la saisie des valeurs monnaie par le Userform
- est il possible d'envoyer un mail sur lorsque une condition est remplie en N ?
Merci pour les explications très utiles comme chaque fois.