Excel vba "rafraichir cellule"

Bonjour,

j’ai actuellement un fichier dans lequel est saisi le contrat de chaque employé (nom, prenom, date début de contrat, date de fin de contrat)

lorsque la date de fin de contrat approche, un message s’affiche dans la cellule à côté et un mail est envoyé.

j’ai crée un userform pour modifier une date de fin de contrat (prolonger un contrat par exemple)

le problème qui se pose est celui ci
lorsqu’une nouvelle date est saisi via le userform, le « rafraichissement » de la cellule ne se fait pas et donc le message ne s’affiche pas dans la cellule à coté, à moins de faire manuellement un double clic et entrer…

je bloque sérieusement, j’ai essayé plein de chose avec SendKey, Application.Calculate
mais rien ne fonctionne

ci joint le fichier (si les explications ne sont pas clairs)
merci par avance

Bonjour

As tu essayé cette instruction :

ThisWorkbook.RefreshAll

Fais des essais sinon merci de nous transmettre ton fichier

Bonjour,
d’abord merci d’avoir répondu.

je viens d’essayer mais ca ne change rien…

effectivement avec le fichier c’est mieux, désolé

Contrat - Copie.xlsm (2,4 Mo)

Bonsoir

Je regarde demain et te dis

Bonjour

Ton fichier ci-joint corrigé

Attention cette ligne était aussi incorrecte donc en erreur :

Ligne.List = Sheets(« Contrat »).Range(« A2:B2 » & Sheets(« Contrat »).Cells(Application.Rows.Count, 1).End(xlUp).Row).Value

Si tu cible la cellule « B2 » dans le Range tu ne dois pas rajouter la partie qui suit qui a pour effet de surajouter un chiffre déjà déterminé par la partie :

& Sheets(« Contrat »).Cells(Application.Rows.Count, 1).End(xlUp).Row

le 2 de B2 cible la ligne 2 pour la colonne B inutile de lui rajouter le chiffre déterminé par la suite

C’est où l’un ou l’autre

Donc je pense que tu souhaites une détermination dynamique du numéro de la ligne donc supprime le 2 et conserve la suite ce qui donne cette ligne de code :

Ligne.List = Sheets(« Contrat »).Range(« A2:B » & Sheets(« Contrat »).Cells(Application.Rows.Count, 1).End(xlUp).Row).Value

B sans 2 à côté

son numéro étant donné par la partie :

& Sheets(« Contrat »).Cells(Application.Rows.Count, 1).End(xlUp).Row

Sinon j’ai corrigé dans le traitement de modification de la date de fin de contrat la ligne de code qui alimente la cellule de la colonne F

Testes et dis moi

Contrat - Copie.xlsm (2,4 Mo)

Bonjour,

merci beaucoup c’est parfait,

merci pour la modif. et les explication sur la ligne ou tu as repéré une erreur

et merci pour la résolution de mon problème

c’est top merci beaucoup

De rien c’était un plaisir pour moi

A très bientôt peut être

Ce sujet a été automatiquement fermé après 30 jours. Aucune réponse n’est permise dorénavant.