jamelie
Messages postés57Date d'inscriptionmercredi 26 avril 2006StatutMembreDernière intervention27 février 2008
-
6 juin 2006 à 12:31
jamelie
Messages postés57Date d'inscriptionmercredi 26 avril 2006StatutMembreDernière intervention27 février 2008
-
7 juin 2006 à 16:13
Bonjour.
J'ai crée 3 userform. La première permet d'aller vers les 3 autres en cliquant sur un bouton après avoir selectionné la date. toutes les données saisies ensuite sont envoyée dans mon classeur excel dans une feuille spécifique. Mais j'ai un autre petit soucis. Quand je suis sous excel et que je rentre mes données toutes mes données s'écrivent normalement dans ma base de données . Si je reste sous excel et que je relance ma userform mes données réapparaissent à l'intérieur comme prévu. Par contre si je ferme mon document excel, quand je l'ouvre les données sont dans mes feuilles mais des que je lance ma userform elle apparait vide et toutes les données de mon classeur sont effacées. Comment faire pour que lorsque je selectionne la même date les données soient la meme si entre temps le classeur excel a ete fermé.? est ce qu'il y a une solution?
Je vous remercie
Jamelie
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 201118 6 juin 2006 à 12:54
Salut jamélie,
il y a une solution, tu crées un Onglet en plus (que tu nommes par ex : "Temp")
et avant de fermer ton Userform, tu places ces données dans cette feuille, puis qund tu ouvres ta Form (UserFormX_Initialize()), vas chercher les données de cette feuille "Temp", pour les replacer dans le UserForm.
Si tu galères, tu le sais, n'hésite pas...
@++
Mortalino
Le Mystérieux Chevalier "Provençal, le Gaulois"
N'oubliez pas de lire le règlement
jamelie
Messages postés57Date d'inscriptionmercredi 26 avril 2006StatutMembreDernière intervention27 février 2008 6 juin 2006 à 16:02
le problème c'est que quand je reste sous excel tout fonctionne bien car j'ai le code qui permet quand j'enregistre dans ma userform de faire réapparaitre les données. mais c'est que quand je ferme excel et que je rouvre en fait je pense que c'est quand je fait load userform... eh bien ca me la lance mais elle est vierge à chaque fois et j'ai plus de 320 données à saisir alors si ca efface tout à chaque fois ca va pas etre top. C'est un outil que je crée pour une entreprise et je sais pas si je crée un onglet comme tu dit si ca va leur plaire. et je vois pas comment envoyer mes données vers cet onglet puisqu'elles sont envoyées vers une feuille excel.
Je suis vraiment désolée c'est pas simple tout ca. Peux tu m'expliquer plus ce que tu veux que je fasse stp?
Merci
Jamelie
jamelie
Messages postés57Date d'inscriptionmercredi 26 avril 2006StatutMembreDernière intervention27 février 2008 6 juin 2006 à 16:04
a la rigueur pour que ca embrouille personne c'est possible que je fasse que l'onglet temp ne soit pas visible. Donc je peux faire ce que tu as dit et personne verra rien?
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 201118 6 juin 2006 à 16:32
Déjà, je suppose que tu as quelque part "Load UserFormX" (X étant un chiffre bien sur)
et bien remplace ce terme par "UserFormX.Show"
En mode création, fais apparaitre ton UserForm et click dessus pour faire apparaitre le code et dans
UserFormX_Initialize(), met des trucs du genre
Me.TextBox1.Text = Sheets("Temp").Range("A1").Value
Me.TextBox2.Text = Sheets("Temp").Range("A2").Value
etc...
Pour la feuille, dès que tu l'as rajouté, click droit dessus, propriété puis voit l'image :
ici, c'est Feuil2, toi ce sera Temp
Même invisible, tu devrais pouvoir récupérer tes infos quand même
@++
Mortalino
Le Mystérieux Chevalier "Provençal, le Gaulois"
N'oubliez pas de lire le règlement
Vous n’avez pas trouvé la réponse que vous recherchez ?
jamelie
Messages postés57Date d'inscriptionmercredi 26 avril 2006StatutMembreDernière intervention27 février 2008 6 juin 2006 à 16:49
j'ai ca comme code:
Private Sub CommandButton1_Click()
If UpDateRowOK Then
Load Form_Donnees_Par_Site
Form_Donnees_Par_Site.Show
End If
End Sub
Pour le reste il va falloir que j'écrive 320fois les mêmes lignes quasiment?
sinon temp c'est un onglet sous excel? j'avais compris un onglet sur ma userform.
Et faut pas que ca débloque d'un mois à l'autre: si je dis à toutes mes données d'aller en A1, A2... pour le mois de janvier quand je selectionne février est ce que mes données de février vont aller s'écrire sur janvier parce que sinon ca va tout me changer.
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 201118 6 juin 2006 à 17:19
Alors je te dis un truc en passant, évite les Load quand tu appelles un UserForm de ta feuille, ça plante suivant ce que tu veux faire.
Afficher : UserForm.Show
Enlever : UserForm.Hide (en gardant les infos, si réaffichage / mais si fermeture, plus aucune infos)
Enlever2 : Unload UserForm (décharge toutes les infos)
L'onglet, il est effectivement à placer dans Excel et pas dans la Form.
Si j'ai bien compris, sur ton UserForm, tu as un bouton Valider et quand tu click dessus, tes données vont se placer dans la bonne feuille (janvier, ou février etc...)
Dans le code de ton UserForm, rajoute 2 procédures
1/
Sub ImportDansForm()
End Sub
2/
Sub ExportDansFeuille()
End Sub
Dans la 1ere procédure tu mets ça, en l'adaptant bien sur
Nom_du_Control.Value = Sheets("Temp").Range("A1")
Nom_du_Control2.Value = Sheets("Temp").Range("A2")
Nom_du_Control3.Value = Sheets("Temp").Range("A3")
Dans la 2eme procédure tu mets ça, en l'adaptant bien sur
Sheets("Temp").Range("A1") = Nom_du_Control.Value
Sheets("Temp").Range("A2") = Nom_du_Control2.Value
Sheets("Temp").Range("A3") = Nom_du_Control3.Value
Et donc pour finir, dans
UserForm_Initialize()
Call ImportDansForm
End Sub
et dans
UserForm_Terminate()
Call ExportDansFeuille
End Sub
@++
Mortalino
Le Mystérieux Chevalier "Provençal, le Gaulois"
N'oubliez pas de lire le règlement
jamelie
Messages postés57Date d'inscriptionmercredi 26 avril 2006StatutMembreDernière intervention27 février 2008 7 juin 2006 à 10:45
Bonjour,
En fait j'ai un bouton enregistrer et un bouton fermer. les deux me servent à enregistrer les données. elles vont se ranger dans une feuille excel sur la ligne correspondant au mois et à l'année selectionnée et sur la colonne choisie dans le code. quand j'enregistre elles apparaissent directement dans ma base. Mais si je ferme excel la fois d'après quand je relance ma userform elles disparaissent ( elles disparaissent au moment du chargement de ma userform pour moi c'est de la que vient le problème)
Je vais ecrire ton code pour voir si ca resout le problème.
Merci beaucoup
Jamelie
jamelie
Messages postés57Date d'inscriptionmercredi 26 avril 2006StatutMembreDernière intervention27 février 2008 7 juin 2006 à 16:13
re-bonjour,
Ca fonctionne pas ca me met pareil que d'habitude mes données disparaissent dès que je rentre dans ma userform (si j'ai fermé excel entre temps). Pour fermer ma form j'utilise userform.hide est ce que c'est ca qui est la cause du problème? Sinon le code que tu m'as donné il ressemble au code que j'i mis pour que mes données aillent dans ma base de données à part que j'ai ecrit
.Cells(daterow, numerocolonne) = REC1.Text
à chaque fois pour chaque controle.