Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Sauvegarder une feuille "Form1"

7 réponses
Avatar
Tof
Bonsoir,

J'ai une feuille "Form1" dans laquelle existe=20
des "Textbox" par lesquels je fais des calculs.

Une fois que les calculs sont effectu=E9s j'aimerai pouvoir=20
sauvegard=E9 cette feuille dans un r=E9pertoire pour la=20
ressortir quand je veux =E0 l'aide d'un bouton "Save as"=20
par exemple.

Si quelqu'un peux me mettre sur la voie ! !

Merci =E0 vous.

7 réponses

Avatar
houbahop2003
Bonjour
Ce que je ferais, c'est un truc du genre

Dim Control As Control

For Each Control In Me.Controls
sauvegarder dans un fichier un IDentificateur de composant et la valeur
next Control

sachant que l'IDentificateur peut etre Control.name

pour ne prendre que les controles texte , tu peux soit :
- définir un code dans la propriété tag des textbox ( dison qu'on utilise le
code "SAUVE" dans l'exemple ) et tester
If control.tag="SAUVE" then Sauvegarder(ID,Valeur)

ou mieux: utiliser Typename(control)
If Typename(control)="Textbox" then Sauvegarder(ID,Valeur)



Si je récapitule voila a quoi cela peut ressembler pour la sauvegarde:

Dim Control As Control

For Each Control In Me.Controls
If Typename(control)="Textbox" then
Sauvegarder(Control.name,Control.text)
next Control

public sub Sauvegarder(byval p_sNomControle as string, byval
p_sValeurControle as string)

dim l_sChaineASauvegarder as string

' ; est le caractére délimitateur, vbcrlf est le délimitateur
d'enregistrements
sChaineASauvegarder = p_sNomControle & ";" & p_sValeurControle & vbcrlf
' placer ici l'ouverture du fichier texte et sauvegarder la chaines
ChaineASauvegarder a la fin du fichier

end sub


Maintenant, pour reassigner les valeurs lues dans le fichier aux TextBox :

Dim Control As Control

For Each Control In Me.Controls
If Typename(control)="Textbox" then
control.text=LireValeurSauvegardee(Control.name)
next Control

avec :
public Function LireValeurSauvegardee(byval p_sNomControle as string) as
string
dim l_sEnregistrementLu as string
dim l_sTmp() as string

' ouvrir le fichier en lecture
Do while not eof(FICHIER)
l_sEnregistrementLu =Get(...) ' je ne me rapelle plus de la syntaxe du
get pour lire une ligne entiére
l_sTmp=split(l_sEnregistrementLu ,";",,vbTextCompare)
if l_sTmp(0) = p_sNomControle then
LireValeurSauvegardee=l_sTmp(1)
exit do
end if
loop
end sub


Voila, Et si vraiment tu veux le faire bien, au lieu de sauvegarder dans un
fichier, tu utilise un dictionnaire (hashmap) qui est indexé, comme une
collection sauvegardée sur disque, avec le nom du controle comme clé, ce qui
t'évitera de triturer le fichier texte.
J'espére que cela t'aidera, il y a surement des erreurs, j'ai fait ça a la
va vite ;)

Dominique.

"Tof" a écrit dans le message de news:
288301c49c39$ec8d5210$
Bonsoir,

J'ai une feuille "Form1" dans laquelle existe
des "Textbox" par lesquels je fais des calculs.

Une fois que les calculs sont effectués j'aimerai pouvoir
sauvegardé cette feuille dans un répertoire pour la
ressortir quand je veux à l'aide d'un bouton "Save as"
par exemple.

Si quelqu'un peux me mettre sur la voie ! !

Merci à vous.
Avatar
Christian HUBERT-HUGOUD- Xtrem7
Si c'est simplement une image (sans pouvoir accéder aux contrôles) tu peux
enregistrer la feuille sur disque sous forme d'image. Un peu lourd si la
feuille est grande, malgré tout.

Sinon tu sauves les datas, et quand tu charges une nouvelle instance de
cette feuille, tu remplis les contrôles avec les datas (ce sera + léger).

"Tof" a écrit dans le message de
news:288301c49c39$ec8d5210$
Bonsoir,

J'ai une feuille "Form1" dans laquelle existe
des "Textbox" par lesquels je fais des calculs.

Une fois que les calculs sont effectués j'aimerai pouvoir
sauvegardé cette feuille dans un répertoire pour la
ressortir quand je veux à l'aide d'un bouton "Save as"
par exemple.

Si quelqu'un peux me mettre sur la voie ! !

Merci à vous.
Avatar
le_troll
Bonjour

??? Pourquoi tu veux sauvegarder ta feuille et donc tes contrôles, à chaque
fois que tu lanceras le programme tu retrouveras ta feuille et tes
contrôles, moi pas comprendre, à ta place je sauvegarderais plutôt le
contenu des contrôles TextBox, mais bon, c'est toi le chef... Et puis...
sauvegarder une feuille dans un répertoire??? ... dans un fichier c'est
mieux, non???

--
Merci, @+, bye, Joe
troll75 AROBASE iFrance POINT com
------------------------------------------
Le_Troll, éleveur de Trolls depuis César, qui disait:
Avec une hache, celui qui tient le manche a toujours raison !


"Tof" a écrit dans le message de
news:288301c49c39$ec8d5210$
Bonsoir,

J'ai une feuille "Form1" dans laquelle existe
des "Textbox" par lesquels je fais des calculs.

Une fois que les calculs sont effectués j'aimerai pouvoir
sauvegardé cette feuille dans un répertoire pour la
ressortir quand je veux à l'aide d'un bouton "Save as"
par exemple.

Si quelqu'un peux me mettre sur la voie ! !

Merci à vous.
Avatar
houbahop2003
BIen sur, c'est le contenu des contrôles qu'il veut sauvegarder.
C'est juste un petit souci d'expression.

"le_troll" a écrit dans le message de news:

Bonjour

??? Pourquoi tu veux sauvegarder ta feuille et donc tes contrôles, à


chaque
fois que tu lanceras le programme tu retrouveras ta feuille et tes
contrôles, moi pas comprendre, à ta place je sauvegarderais plutôt le
contenu des contrôles TextBox, mais bon, c'est toi le chef... Et puis...
sauvegarder une feuille dans un répertoire??? ... dans un fichier c'est
mieux, non???

--
Merci, @+, bye, Joe
troll75 AROBASE iFrance POINT com
------------------------------------------
Le_Troll, éleveur de Trolls depuis César, qui disait:
Avec une hache, celui qui tient le manche a toujours raison !


"Tof" a écrit dans le message de
news:288301c49c39$ec8d5210$
Bonsoir,

J'ai une feuille "Form1" dans laquelle existe
des "Textbox" par lesquels je fais des calculs.

Une fois que les calculs sont effectués j'aimerai pouvoir
sauvegardé cette feuille dans un répertoire pour la
ressortir quand je veux à l'aide d'un bouton "Save as"
par exemple.

Si quelqu'un peux me mettre sur la voie ! !

Merci à vous.




Avatar
le_troll
Re-salut, alors je te propose le menu suivant, lol:

Dim pf1 As Integer ' PARTIE COMMUNE
Dim i As Integer
ChDrive App.Path
ChDir App.Path
'--------------------------------------------------- ECRIRE
pf1 = FreeFile
Open "Fichier_TextBox.txt" For OutPut As pf1
For i = 1 To nbMaxiCtrl
Print #pf1, text1(i)
Next i
Close pf1
'-------------------------------------------------- LIRE
pf1 = FreeFile
Open "Fichier_TextBox.txt" For OutPut As pf1
For i = 1 To nbMaxiCtrl
Line Input #pf1, text1(i)
Next i
Close pf1
'--------------------------------------------------- OBS
Si le fichier refuse de prendre directement TextBox, pases par une
variable...

--
Merci, @+, bye, Joe
troll75 AROBASE iFrance POINT com
------------------------------------------
Le_Troll, éleveur de Trolls depuis César, qui disait:
Avec une hache, celui qui tient le manche a toujours raison !


"Tof" a écrit dans le message de
news:288301c49c39$ec8d5210$
Bonsoir,

J'ai une feuille "Form1" dans laquelle existe
des "Textbox" par lesquels je fais des calculs.

Une fois que les calculs sont effectués j'aimerai pouvoir
sauvegardé cette feuille dans un répertoire pour la
ressortir quand je veux à l'aide d'un bouton "Save as"
par exemple.

Si quelqu'un peux me mettre sur la voie ! !

Merci à vous.
Avatar
Tof
Exact, c'est tout a fait ça....Merci pour m'avoir
renseigné ! !


-----Message d'origine-----
BIen sur, c'est le contenu des contrôles qu'il veut


sauvegarder.
C'est juste un petit souci d'expression.

"le_troll" a écrit dans le message de


news:

Bonjour

??? Pourquoi tu veux sauvegarder ta feuille et donc




tes contrôles, à
chaque
fois que tu lanceras le programme tu retrouveras ta




feuille et tes
contrôles, moi pas comprendre, à ta place je




sauvegarderais plutôt le
contenu des contrôles TextBox, mais bon, c'est toi le




chef... Et puis...
sauvegarder une feuille dans un répertoire??? ... dans




un fichier c'est
mieux, non???

--
Merci, @+, bye, Joe
troll75 AROBASE iFrance POINT com
------------------------------------------
Le_Troll, éleveur de Trolls depuis César, qui disait:
Avec une hache, celui qui tient le manche a toujours




raison !


"Tof" a écrit dans le message




de
news:288301c49c39$ec8d5210$
Bonsoir,

J'ai une feuille "Form1" dans laquelle existe
des "Textbox" par lesquels je fais des calculs.

Une fois que les calculs sont effectués j'aimerai




pouvoir
sauvegardé cette feuille dans un répertoire pour la
ressortir quand je veux à l'aide d'un bouton "Save as"
par exemple.

Si quelqu'un peux me mettre sur la voie ! !

Merci à vous.






.



Avatar
Tof
Désolé pour mes mauvaises expressions informatique ! !
Merci pour ce code que je m'empresse de regarder.

A+


-----Message d'origine-----
Re-salut, alors je te propose le menu suivant,


lol:

Dim pf1 As Integer ' PARTIE COMMUNE
Dim i As Integer
ChDrive App.Path
ChDir App.Path
'---------------------------------------------------


ECRIRE
pf1 = FreeFile
Open "Fichier_TextBox.txt" For OutPut As pf1
For i = 1 To nbMaxiCtrl
Print #pf1, text1(i)
Next i
Close pf1
'-------------------------------------------------- LIRE
pf1 = FreeFile
Open "Fichier_TextBox.txt" For OutPut As pf1
For i = 1 To nbMaxiCtrl
Line Input #pf1, text1(i)
Next i
Close pf1
'--------------------------------------------------- OBS
Si le fichier refuse de prendre directement TextBox,


pases par une
variable...

--
Merci, @+, bye, Joe
troll75 AROBASE iFrance POINT com
------------------------------------------
Le_Troll, éleveur de Trolls depuis César, qui disait:
Avec une hache, celui qui tient le manche a toujours


raison !


"Tof" a écrit dans le message de
news:288301c49c39$ec8d5210$
Bonsoir,

J'ai une feuille "Form1" dans laquelle existe
des "Textbox" par lesquels je fais des calculs.

Une fois que les calculs sont effectués j'aimerai pouvoir
sauvegardé cette feuille dans un répertoire pour la
ressortir quand je veux à l'aide d'un bouton "Save as"
par exemple.

Si quelqu'un peux me mettre sur la voie ! !

Merci à vous.


.