Récupération de données d'une feuille sous Excel

jamelie Messages postés 57 Date d'inscription mercredi 26 avril 2006 Statut Membre Dernière intervention 27 février 2008 - 8 mai 2006 à 13:07
jamelie Messages postés 57 Date d'inscription mercredi 26 avril 2006 Statut Membre Dernière intervention 27 février 2008 - 16 mai 2006 à 15:37
Bonjour,
J'ai crée une interface sous VBA et je voudrais que les données qui sont entrées dans l'interface soient renvoyées dans ma base de données Excel en cliquant sur le bouton valider mais je ne sais pas comment les exporter de l'interface vers Excel. Est ce que quelqu'un pourrait m'aider?
Merci

7 réponses

zavier666 Messages postés 266 Date d'inscription mardi 7 septembre 2004 Statut Membre Dernière intervention 30 avril 2009 1
8 mai 2006 à 13:12
Si t'as données est dans une textbox:

Sheet("nom de la feuille").Range("coordonnées de la cellule").Value = Userform1.Textbox1.Text

API @ la Loupe
http://xav.prog.power.free.fr
0
jamelie Messages postés 57 Date d'inscription mercredi 26 avril 2006 Statut Membre Dernière intervention 27 février 2008
8 mai 2006 à 13:16
j'ai plusieurs types de données j'en ai dans des textbox et dans des list box mais j'ai aussi des données par onglet. Je vais essayer ce que tu ma dis deja.
Merci
0
jamelie Messages postés 57 Date d'inscription mercredi 26 avril 2006 Statut Membre Dernière intervention 27 février 2008
8 mai 2006 à 13:25
j'ai plusieurs types de données j'en ai dans des textbox et dans des list box mais j'ai aussi des données par onglet. Je vais essayer ce que tu ma dis deja.
Merci
0
cs_gothar12 Messages postés 10 Date d'inscription dimanche 9 avril 2006 Statut Membre Dernière intervention 5 juin 2006
8 mai 2006 à 14:57
Je fais un stage en ce moment et je dois envoyer les données entrées (combobox, listbox, champs) dans une feuille excel
je vais te donner ce que j'ai fais.

J'ai utilisé une ImageList et une Toolbar et un CommonDialog

L'imageList sert à mettre des images sur les boutons, j'ai mis une diquettes pour le bouton enregistrer
tu trouveras les images en recherchant les fichier.ico ( *.ico)
Mon 2eme bouton de ma Toolbar et le bouton pour enregistrer voici le code

Private qqch As Excel.Application 'déclaration

Private Sub Toolbar1_ButtonClick(Index As Integer, ByVal Button As ComctlLib.Button)
If Button.Index 2 Then 'bouton save bouton n°2

With CommonDialog1
.FileName = "xxxx.xls" 'nom de ton fichier excel
.DialogTitle = "Sauvegarder les données" 'tu mets ce que tu veux
.ShowSave
End With

Set qqch = New Excel.Application

qqch.Visible = False 'n'ouvre pas le fichier excel, tu peux mettre True si tu veux l'ouvrir lors de l'enregistrement
qqch.Workbooks.Add (CommonDialog1.FileName)


N=1 (par exemple pour enregistrer sur la 1ere ligne, tu mets 2 pour la 2eme ligne et ainsi de suite, tu peux te débrouiller pour enregistrer ou tu veux)
qqch.Cells(N, 1).Value = Text1.Text
qqch.Cells(N, 2).Value = Text2.Text
qqch.Cells(N, 3).Value = Text3.Text
qqch.Cells(N, 4).Value = Combo_Traite.Text
qqch.Cells(N, 5).Value = Combo_Cde.Text
qqch.Cells(N, 6).Value = Text8.Text 'etc


qqch.ActiveWorkbook.SaveAs (CommonDialog1.FileName)
qqch.ActiveWorkbook.Close
qqch.Quit

Set qqch = nothing 'important, permet de détruire la variable a la fin

'------------------------------------------------------
Si jamais ton fichier excel contient plusieurs feuilles, fais ceci

Set qqch = New Excel.Application

qqch.Worksheets(1).Range("nom de la cellule").Value = Text1.Text '1 pour la 1ere feuille ou alors tu mets directement le nom de ta feuille comme en dessous
qqch.Worksheets("nom de ta feuille").Range("nom de la cellule").Value = Combo1.Text

qqch.ActiveWorkbook.Close
qqch.Quit

Set qqch = nothing


Etudiant IG2Ien www.ig2i.fr
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
9 mai 2006 à 02:07
Salut,

> gothar12 : Tu dis "Private qqch As Excel.Application 'déclaration"
ca sert à rien, Jamélie est en VBA, Excel est donc déjà ouvert !

> Jamélie :
tu peux aussi faire une boucle pour aller plus vite et utiliser moins de ligne de code :

Dim ctl As Control, LigneN As Long
LigneN = 1

'dans la prochaine ligne, UserForm1 est à remplacer par le nom que t'as mis

For each ctl in UserForm1.Controls
if TypeName(ctl) "TextBox" Or TypeName(ctl) "ListBox"
Sheets("NomDeTaFeuille").Range("A" & LigneN).Value = ctl.Value
LigneN = LigneN + 1
End If
Next ctl

En gros, toutes les données d'un control de type "TextBox" ou "ListBox" sont envoyées dans ta feuille Excel, dans la cellule A1, puis A2 etc...
Si tu veux faire des placements spécifiques dans tes cellules, dis nous ce que tu veux faire.

@++
Mortalino
0
jamelie Messages postés 57 Date d'inscription mercredi 26 avril 2006 Statut Membre Dernière intervention 27 février 2008
10 mai 2006 à 19:13
En fait, je suis en stage et je dois simplifier et automatiser un tableau de bord. J'ai plus de 300 données sources chaque mois qui permettent de calculer des taux. j'ai créé plusieurs interfaces(userform, désolé je connait pas tous les termes donc je dois pas m'exprimer super bien) dans lesquelles les utilisateurs doivent entrer leurs valeurs. Je veux que les données se mettent automatiquement dans une feuille excel qui sera ma base de données. Ma feuille excel contient une colonne par donnée et une ligne représente un mois.
Je vais essayer ce que tu ma dis. merci beaucoup. J'espère que j'ai été un peu claire pour que tu comprenne ce que je veux faire.

Amélie
0
jamelie Messages postés 57 Date d'inscription mercredi 26 avril 2006 Statut Membre Dernière intervention 27 février 2008
16 mai 2006 à 15:37
slt
ca fonctionne pas j'arrive pas à faire marcher le programme. j'ai réussi à envoyer des données de ma userform vers excel à partir d'un autre programme (:
sub cdbsave_click()
workshetts("BDD1").Activate
Range("A2").Value = REC1
End sub
)
mais ca se copie toujour dans la première ligne(logik vu ce que j'écris mais je c po commen l'écrire pour que ca se mette à la suite) et je veux que les données se copient à chaque fois sur une ligne différente ou sur une ligne précise en fonction de la date et de l'année qui sont selectionnés avant dans une listbox. Je sais pas si j'explique bien mais si vous voulez plus de détails pour m'aider il y a pas de problèmes dites moi.
merci
jamelie
0
Rejoignez-nous