Rafraichir données userform

Résolu/Fermé
coraliie.c Messages postés 22 Date d'inscription jeudi 27 novembre 2014 Statut Membre Dernière intervention 9 décembre 2014 - 3 déc. 2014 à 15:02
coraliie.c Messages postés 22 Date d'inscription jeudi 27 novembre 2014 Statut Membre Dernière intervention 9 décembre 2014 - 8 déc. 2014 à 10:44
Bonjour,

J'aurais besoin d'aide pour améliorer un userform.

Premier problème :
J'aimerais ajouter un bouton pour actualiser les données dans l'userform. Je m'explique : mes textbox reprennent les données d'un tableau dans lequel j'ai des formules automatiques pour calculer des dates.
Dans l'userform, je peux changer la date initiale. Le problème c'est que les dates suivantes sont actualisées uniquement dans le tableau. C'est pour ça que j'aimerais un bouton "rafraichir" pour actualiser les données de l'userform sans être obligée de le fermer et de le rouvrir.

Quelqu'un peut m'aider pour le code ?

Deuxième problème :
J'aimerais que les dates de certaines textbox soient écritent en rouge si elles ont dépassée la date du jour.

Comment faire ?

Si besoin, voici mon fichier :

https://www.cjoint.com/?0LdpiMi0t47

Mercii pour vos réponses


1 réponse

via55 Messages postés 14512 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 18 janvier 2025 2 740
3 déc. 2014 à 15:32
Bonjour

1) Pour le code du bouton Rafraichir tu mets exactement le même code que celui de Private sub Combobox_1 Change

2) Pour mettre en rouge par exemple le textbox21 tu rajoutes cette ligne en dessous de son affichage dans les 2 macros
Me.Controls("TextBox21") = Ws.Cells(Ligne, "AN")
If TextBox21.Value <> "" Then If CDate(TextBox21.Value) < Date Then TextBox21.ForeColor = &HFF&

Note au passage que tu peux avantageusement remplacer Me.Controls("TextBox21") par simplement TextBox21 puisque le code est lié à l'Userform et non pas dans un module (s'il était dans un module il faut désigner l'userform du contrôle : Userform1.Textbox21
Derniere chose quand il y a beaucoup de Textbox il faut mieux chacun les nommer (Name de l'onglet propriété) par ex le 21 pourrait s'appeler Recycl_Huile et dans les mos tu fais alors référence directement au nom c'est plus clair pour s'y retrouver (ex Recycl_Huile= Ws.Cells(Ligne, "AN")

Cdlmnt
1
coraliie.c Messages postés 22 Date d'inscription jeudi 27 novembre 2014 Statut Membre Dernière intervention 9 décembre 2014
3 déc. 2014 à 16:05
Merci pour ta réponse !

Le code pour le bouton rafraichir ne marche pas.

Mais le code pour mettre le texte en rouge ça marche très bien ! Le seul hic c'est que le texte reste en rouge dans la textebox si je change de personne même si la date n'est pas supérieur à la date du jour.
Pour que ça redevienne bien il faut fermer le formulaire et le rouvrir (comme pour mettre à jour les données de l'userform d'ailleurs)

Y-a-t-il une solution ?
0
via55 Messages postés 14512 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 18 janvier 2025 2 740
3 déc. 2014 à 20:39
Je rentre à l'instant et je trouve ton message

1) En quoi le code ne marche pas ? Lorsque tu modifies une donnée et que tu l'as validée avec le bouton Modifier elle est inscrite dans la feuille de ton classeur. Avec la même macro que quand un nom change associée au bouton Rafraichir cela doit bien réactualiser tous les textbox et prendre en compte la modification
Tu peux même te passer du bouton Rafraichir en rajoutant plutôt cette macro à la fin de celle associée au bouton Modifier

2) Complète ainsi la ligne de macro : If TextBox21.Value <> "" Then If CDate(TextBox21.Value) < Date Then TextBox21.ForeColor = &HFF& else TextBox21.ForeColor = &H80000008&

Cdlmnt
0
coraliie.c Messages postés 22 Date d'inscription jeudi 27 novembre 2014 Statut Membre Dernière intervention 9 décembre 2014 > via55 Messages postés 14512 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 18 janvier 2025
8 déc. 2014 à 10:44
Bonjour,

Dsl j'ai été pas mal occupé ces derniers temps et je viens seulement de me remettre sur mon fichier.

J'ai rajouté la ligne à la macro pour afficher les dates en rouge et ça fonctionne nickel !

Je viens de réessayer le code pour le bouton rafraichir et ça fonctionne aussi ...
Je devais pas être réveillée quand je l'ai fait la dernière fois !

Merci beaucoup pour ton aide !
0