Pb avec textbox et ControlSource

lulu2013

XLDnaute Nouveau
Bonjour

J'ai un problème à l'utilisation d'un textbox lié à une cellule de mon classeur via le ControlSource.

J'ai une application assez importante gérant des planning.
Toute la mise à jour se fait via un formulaire.

Jusqu'à présent, je n'ai jamais eu de pb avec les textbox, c'est à dire que toutes les infos que j'écris par macro dans mes textbox sont bien dupliquées/transférées dans les cellules associées.

Dernièrement j'ai ajouté 2 textbox liés à 2 cellules différentes.
Lorsque je souhaite supprimer les valeurs de ces 2 textbox, il n'y en qu'un qui se met à jour, le second conserve la valeur précédente.

Code:
With UserForm2
    Select Case Etat
        Case "ACTIVE", "":  .OptionButton14.Value = True
                            .TextBox401 = "" ' On efface la date d'annulation s'il y en avait une
                            .TextBox402 = "" ' On efface la cause d'annulation s'il y en avait une
                            .Caption = "DE active"
Dans ce cas, seul la valeur du textbox401 est effacée, celle du textbox402 est toujours "pleine"

Et si j'inverse l'ordre des lignes, comme ci-dessous :
Code:
With UserForm2
    Select Case Etat
        Case "ACTIVE", "":  .OptionButton14.Value = True
                            .TextBox402 = "" ' On efface la cause d'annulation s'il y en avait une
                            .TextBox401 = "" ' On efface la date d'annulation s'il y en avait une
                            .Caption = "DE active"
et bien la valeur du textbox402 est effacée mais pas celle du textbox401.

Je sais que vous souhaiteriez un fichier exemple mais mon application est tellement lourde et remplie d'infos professionnelles.

Alors, si dans un premier temps ce problème vous évoque quelque chose, je suis preneuse de toute piste car cà fait un moment que je cherche.
Parallèlement, j'essaie de faire un fichier light pour vous le donner.

En vous remerciant par avance.
Lulu
 

pierrejean

XLDnaute Barbatruc
Re : Pb avec textbox et ControlSource

Bonjour Lulu

Je suis un peu primaire et je n'aime pas beaucoup le code avec le :

As-tu testé:

Code:
With UserForm2
    Select Case Etat
        Case "ACTIVE", ""
                    .OptionButton14.Value = True
                    .TextBox401 = "" ' On efface la date d'annulation s'il y en avait une
                    .TextBox402 = "" ' On efface la cause d'annulation s'il y en avait une
                    .Caption = "DE active"
 

Si...

XLDnaute Barbatruc
Re : Pb avec textbox et ControlSource

Salut

ton bout de code est incomplet pour pouvoir trouver l'erreur

Code:
With UserForm2
    Select Case Etat
        Case "ACTIVE", "":  .OptionButton14.Value = True
                            .TextBox401 = "" ' On efface la date d'annulation s'il y en avait une
                            .TextBox402 = "" ' On efface la cause d'annulation s'il y en avait une
                            .Caption = "DE active"
   
'quelle est la suite ?

C'est après que cela se passe !

Tu as dans l'exemple joint, ton code agrémenté de quelques messages permettant de suivre l'évolution, et qui ne reproduit pas les défauts qui te chagrinent !
 

Pièces jointes

  • Select Case.xls
    39.5 KB · Affichages: 35
  • Select Case.xls
    39.5 KB · Affichages: 33
  • Select Case.xls
    39.5 KB · Affichages: 36

pierrejean

XLDnaute Barbatruc
Re : Pb avec textbox et ControlSource

Re

@ Si

Oui mais si on met en commentaire les msgbox le pb revient

Pour ma part je pense qu'en fait le control source des textbox intervient apres la fin de la macro
voici une version avec le remplissage des textbox par l'initialyse de l'usf
 

Pièces jointes

  • Select Case.xls
    68 KB · Affichages: 29
  • Select Case.xls
    68 KB · Affichages: 34
  • Select Case.xls
    68 KB · Affichages: 33

Si...

XLDnaute Barbatruc
Re : Pb avec textbox et ControlSource

salut

tu as raison pierrejean:D : j'avais testé à coup de F8 dans l'éditeur et envoyé le mauvais exemple:confused:.
Voici une correction toujours avec la propriété ControlSource mais en vidant les cellules liées (avec effet bascule pour le fun).
 

Pièces jointes

  • Select Case 2.xls
    47.5 KB · Affichages: 31

lulu2013

XLDnaute Nouveau
Re : Pb avec textbox et ControlSource

Bonjour,

Je vous remercie tous 2 d'avoir réfléchi à mon problème.

Effectivement, lorsque j'ajoute un msgbox après la modification de mes 2 textbox : pas de souci, ils sont bien mis à "vide".
Et dès que je supprime le msgbox, j'ai de nouveau e problème du 2° textbox qui n'est pas effacé.
De la même façon, en débuggant pas à pas, pas de problème.

Par ailleurs, si je lie ces textbox à 2 autres cellules, je n’ai plus le problème.
Et je n’arrive pas à trouver ce que mes deux cellules ont de particulier.
J’ai vérifié dans mon code, les textbox ne sont pas utilisés ailleurs, ni les cellules.

Enfin, Si…, avec le fichier que tu as fait, j’ai exactement le problème : si je supprime l’affichage des textbox, le 2° textbox ne se vide pas …

Mais comme je viens de voir ta réponse suivante, j’ai regardé ton code (réponse commencée ce matin au fur et à mesure de mes essais !!).
Et tu as fait le choix de modifier la cellule, ce qui modifie ensuite le textbox.
J’avais pensé à essayer cela mais je souhaitais au maximum ne pas écrire directement dans ma feuille mais plutôt que les changements soient faits uniquement par transfert de textbox à cellule.

Cela dit, dans un fichier basic, tu as réussi à reproduire le pb, alors :
existe-t’il un truc pour forcer la mise à jour des affichages sans avoir à mettre un msgbox ?

En attendant, je vais essayer de contourner ce problème en modifiant directement ces 2 cellules

Et merci : je ne connaissais pas IIF !!!!

Merci à vous
Lulu
 

Statistiques des forums

Discussions
312 673
Messages
2 090 784
Membres
104 664
dernier inscrit
jth