cs_kouki69
Messages postés95Date d'inscriptionlundi 27 mars 2006StatutMembreDernière intervention28 août 2015
-
31 mars 2006 à 08:58
Mik10_46
Messages postés42Date d'inscriptionmercredi 20 avril 2005StatutMembreDernière intervention 9 mai 2006
-
4 avril 2006 à 08:55
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
Mik10_46
Messages postés42Date d'inscriptionmercredi 20 avril 2005StatutMembreDernière intervention 9 mai 20063 31 mars 2006 à 09:28
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!!!)
Mik10_46
Messages postés42Date d'inscriptionmercredi 20 avril 2005StatutMembreDernière intervention 9 mai 20063 31 mars 2006 à 09:32
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
cs_kouki69
Messages postés95Date d'inscriptionlundi 27 mars 2006StatutMembreDernière intervention28 août 2015 31 mars 2006 à 10:41
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
cs_kouki69
Messages postés95Date d'inscriptionlundi 27 mars 2006StatutMembreDernière intervention28 août 2015 31 mars 2006 à 10:49
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
Vous n’avez pas trouvé la réponse que vous recherchez ?
Mik10_46
Messages postés42Date d'inscriptionmercredi 20 avril 2005StatutMembreDernière intervention 9 mai 20063 31 mars 2006 à 10:53
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
Mik10_46
Messages postés42Date d'inscriptionmercredi 20 avril 2005StatutMembreDernière intervention 9 mai 20063 31 mars 2006 à 10:56
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
cs_kouki69
Messages postés95Date d'inscriptionlundi 27 mars 2006StatutMembreDernière intervention28 août 2015 31 mars 2006 à 11:45
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 :
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.
Mik10_46
Messages postés42Date d'inscriptionmercredi 20 avril 2005StatutMembreDernière intervention 9 mai 20063 31 mars 2006 à 16:28
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:
cs_kouki69
Messages postés95Date d'inscriptionlundi 27 mars 2006StatutMembreDernière intervention28 août 2015 3 avril 2006 à 09:02
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 ???
Mik10_46
Messages postés42Date d'inscriptionmercredi 20 avril 2005StatutMembreDernière intervention 9 mai 20063 4 avril 2006 à 08:55
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