Enregistrer valeur mis ds textbox d'un userform

Signaler
Messages postés
95
Date d'inscription
lundi 27 mars 2006
Statut
Membre
Dernière intervention
28 août 2015
-
Messages postés
42
Date d'inscription
mercredi 20 avril 2005
Statut
Membre
Dernière intervention
9 mai 2006
-
Bonjour,
J'ai un userform pourvu de plusieurs textbox. Les valeurs que j'entre ds ces texte box sont reportés ds une feuille excel. Lorsque je ferme le classeur excel après l'avoir sauvegardé et que je le rappelle, toutes les données entrées dans les textbox ont disparu.

1 / Comment faire pour que ces valeurs restent ds les textbox ?

2 / Je voudrais utiliser un bouton pour effacer le contenu de ces textbox, quelle est la procédure

MErci
Georges

10 réponses

Messages postés
42
Date d'inscription
mercredi 20 avril 2005
Statut
Membre
Dernière intervention
9 mai 2006
1
Salut,

tout d'abord, le problème est que tes textbox et tes cellules excel sont liées. Et comme tu dois certainement appelé excel à partir de ton application, les deux correspondent.
Ce que tu peux faire, c'est une macro où tu executes un copier/collage spécial (Valeur), de cette manière excel conservera ces valeurs de manières indépendantes (tu peux faire une feuille cachée).
Pour la deuxième question, tu fais un bouton avec l'instruction du type:
textbox.text="" (et de cette manière tout sera effacé!!! sauf dans excel, si tu fais comme je t'ai dit ou autrement, mais le but est que les valeurs ne doivent plus être liées!!!)
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 123 internautes nous ont dit merci ce mois-ci

Messages postés
42
Date d'inscription
mercredi 20 avril 2005
Statut
Membre
Dernière intervention
9 mai 2006
1
attend, je me suis peut-etre trompé après lecture de ce que je t'ai écrit!!!
ton but est de récupérer ces valeurs stockées dans excel? ou alors tes valeurs disparaissent dans excel????
si tu veux les récupérer :

ex.Worksheets("Feuil1").Activate
' n'oublies pas que la lecture dans vb se fait de droite à gauche)

textbox.text=Range("A1").value ...etc

voila, si cela t'aide,
merci d'acceptée la réponse afin d'aider au mieux les autres qui ont le même type de soucis que toi!!!
Cordialement
Messages postés
95
Date d'inscription
lundi 27 mars 2006
Statut
Membre
Dernière intervention
28 août 2015

Salut,


Mes valeurs disparaissent des textes box de l' userform, celles dans la feuille d'excel sont conservées.


Je souhaiterai que les valeurs entrées ds les texte box soient conservés jusqu'à la prochaine ouverture du classeur. Exemple


- J'ouvre le classeur, l'userform apparait en premier.


- Je rentre toutes mes valeurs ds les textbox de l'userform


Ces valeurs sont copié dans la feuille excel par les lignes suivantes, ex
Sheets("GRAPH SELECT").Range("E9").Value = speed.Value
(speed value étant la valeur ds le textbox, admettons 400)
LEs calculs sont réalisés, etc....
Je sauvegarde, je ferme le classeur.
Si j'ouvre à nouveau ce classeur, je souhaiterai que la valeur speedvalue de 400 apparaissent tjrs ds le textbox avec la possibilité de modifier cette valeur. Si je la modifie, la valeur devra également être modifiée ds excel
Messages postés
95
Date d'inscription
lundi 27 mars 2006
Statut
Membre
Dernière intervention
28 août 2015

J'ai oublié de préciser,
Ds l'userform, j'ai un bouton qui lance une macro qui au final ferme 'en fait il le cache)----->userform.hide. Si je reviens ds l'userform, les valeurs ds les textbox sont conservées(normal)
Si par contre, je clique ds la croix en haut à droite de l'userform, et que je lance l'userform de ma feuille excel, les valeurs sont éffacées.
Voilà, en définitive, il semble que qd l'userform est fermé, et pas caché, les valeurs ne sont pas conservées. Comment faire pour qu'elles le soient.
Merci
Messages postés
42
Date d'inscription
mercredi 20 avril 2005
Statut
Membre
Dernière intervention
9 mai 2006
1
ok,
dans ce cas là, pourquoi tu ne stockes pas la valeur dans ton programme en enregistrant tout simplement ton programme dans l'état?enfin, cela dépend si c'est à partir d'un .exe ou d'un projet!!
sinon, ce que tu peux faire, c'est de rappeler les valeurs, comme je t'ai indiqué au début. Je m'explique :
tu entres tes valeurs,
ça enregistre dans excel,
tu quittes tout en enregistrant!

Au moment de l'ouverture (Load Userform),
tu appelles tes valeurs à partir d'excel,
mais quand tu changeras, les valeurs dépendront de ce que tu auras mis dans ton textbox!
donc en résumé :
tu gardes ton code tel qu'il est à l'heure actuel,
tu rajoutes juste sur ton UserForm Load :
textbox.text=Range("A1").value
je pense, que cela devrait résoudre ton pb, sinon, je me tiens à ta disposition

cordialement,

@+, Mik
Messages postés
42
Date d'inscription
mercredi 20 avril 2005
Statut
Membre
Dernière intervention
9 mai 2006
1
normal pour ce que tu viens de rajouter, car quand tu caches tu n'effaces pas ta feuille de la mémoire!
mais quand tu fermes, tu mets la mémoire à nue!!!
mais je pense que l'indication que je t'ai donnée précédemment devrait te convenir!
cordialement
@+
Mik
Messages postés
95
Date d'inscription
lundi 27 mars 2006
Statut
Membre
Dernière intervention
28 août 2015

Ca marche à moitiée, je m'explique:
LE bouton qui relance l'userform à partir de la feuille excel, remet bien la valeur ds le textbox de l'userform, j'ai mis la commande suivante :

UserForm1.Show
UserForm1.speed = Sheets("graph Select").Range("E9").Value

Impec
Pour rappeller la valeur de la feuil excel ds l'userform lorsque j'ouvre le classeur, j'ai procédé comme ci:
Afin d'ouvrir l'userform dès l'ouverture du classeur, j'ai mis ds l'objet Thisworkbook
la ligne suivante :

Private Sub Workbook_Open()


UserForm1.Show
et j'ai rajouté la ligne ci-dessous pour qu'il me mette la valeur de la feuille ds mon textbox :

UserForm1.speed = Sheets("graph Select").Range("E9").Value
End Sub
Ca marche pas !!!! J'ai vérifier ds la feuille, la valeur est présente.
Messages postés
42
Date d'inscription
mercredi 20 avril 2005
Statut
Membre
Dernière intervention
9 mai 2006
1
Tout est pratiquement juste.
le seule erreur de ta part, est le fait que tu attribues la valeur d'une case à ton applic.
et c'est là qu'est l'erreur :
c'est plutôt du style:

Textbox.text = Sheets("graph Select").Range("E9").Value

ce n'est pas l'applic qui prend la valeur, mais un ou plusieurs textbox!!!
maintenant, si je me trompe, j'en suis désolé!
Cordialement,
Mik
Messages postés
95
Date d'inscription
lundi 27 mars 2006
Statut
Membre
Dernière intervention
28 août 2015

Mik,
Ca ne marche pas !
LE nom de mon textbox est le suivant : textetoi
Le nom de mon userform est userform1
LA cellule de la feuille excel est la suivante : E9, ds la feuille "graph select"

Ce que je veux donc c'est mettre la valeur de la cellule E9 dans le textbox de l'userform1 à l'ouverture du classeur.
L'userform1 s'ouvre à l'ouverture de la manière vsuivante :
Ds "this workbook", j'ai ecris la ligne suivante :
userform1.show

J'ai mis également après userform1.show la ligne suivante :
userform1.textetoi.value= sheets ("graph select").range("E9").value
--> Ca marche pas
J'ai essayé ce que tu m'as proposé, à savoir :
textbox.textetoi = sheets ("graph select").range("E9").value
--> Ca marche pas
OU EST CE QUE JE DECONNE ???
Messages postés
42
Date d'inscription
mercredi 20 avril 2005
Statut
Membre
Dernière intervention
9 mai 2006
1
Salut,
ta 1ère erreur, est :
textbox.textetoi = sheets ("graph select").range("E9").value
c'est plutôt du style :
textetoi.text = sheets ("graph select").range("E9").value

De plus, il faut que t(u charges la feuille car les valeurs ne sont pas en mémoire!!!
je m'expliques :
à l'ouverture de ton applic
dans thisworkbook_open
worksheets("graph select").Activate
userform1.show

Voila, je pense que cela devrait fonctionner.
il faut que tu fasses aux erreurs de syntaxe!!!!!!
le mieux quand tu n'arrives pas, tu fais une verif en pas à pas (touche F8)
voila,
@+
tiens moi au courant