Une connexion simple à excel...

TrafMaxime Messages postés 288 Date d'inscription mercredi 4 mai 2005 Statut Membre Dernière intervention 26 janvier 2012 - 5 juil. 2005 à 15:16
TrafMaxime Messages postés 288 Date d'inscription mercredi 4 mai 2005 Statut Membre Dernière intervention 26 janvier 2012 - 31 oct. 2005 à 16:19
Voilà le topo :

- : sous access, vraie base de données, il est facile de créer une
bonne connexion avec Microsoft.jet.4.0 oledb comme provider, et on peut
même retrouver les champs et faire des belles impressions avec le
Crystal Report fournit avec vb.net



- : j'aimerai arriver à la même chose avec Excel, mais je me demande si c'est possible ?



en effet, excel n'est pas une vraie base de données, j'ai pas réussi à
établir une connexion (quel provider.. ? et comment...?), et j'ai pas
l'impression qu'on puisse arriver à quelque chose d'équivalent : genre
je sais vraiment pas si je pourrai m'amuser avec les champs sous
Crystal Report...



Je pense m'orienter vers de l'import/export excel/access...

...

si quelqu'un à des conseils, un avis, voire même une réponse...? : toute suggestion est la bienvenue


.Maytheforcebewithyou.Maxime.

4 réponses

acecel Messages postés 140 Date d'inscription jeudi 6 mai 2004 Statut Membre Dernière intervention 14 octobre 2006
5 juil. 2005 à 16:09
tu peut echanger des données avec excel (ouvrir un document et récuperer données ou en créer un et tout piloter à partir de vb)
voici un exemple :

Dim XLApp as Object

Set XLApp = CreateObject("excel.application")
XLApp.WorkBooks.Open repertoire_du_fichier_excel
XLApp.Visible = True
XLApp.worksheets(1).Cells(1, 1).Value = mon_texte
Set XLApp = Nothing

si ca peut t'aider
0
TrafMaxime Messages postés 288 Date d'inscription mercredi 4 mai 2005 Statut Membre Dernière intervention 26 janvier 2012 1
5 juil. 2005 à 16:22
Merci pour ton aide...

mais je trouve pas ca assez efficace comme méthode...



Parce que si il faut rentrer les coordonnées x et y pour chaque
champs... jamais j'arriverai à faire un soft qui met à jour des stocks
de composants en fonction des commandes, enfin j'aurai fini quand on
saura déjà tout faire par télépathie...


...mais bon, peut-être que si tu connais une technique pour récuprérer
les coordonnées d'une cellule, en fonction d'un paramétre, ca pourrait
être utile :

l'idée est une genre de requête sql qui renverrait le numéro de la
ligne de la cellule oú il y aurait écrit 'cellalpha' dans le fichier
xls...



en tout cas... c pas simple, excel...à programmer...
.Maytheforcebewithyou.Maxime.
0
acecel Messages postés 140 Date d'inscription jeudi 6 mai 2004 Statut Membre Dernière intervention 14 octobre 2006
5 juil. 2005 à 16:50
Dim XLApp as Object

Set XLApp = CreateObject("excel.application")
XLApp.WorkBooks.Open repertoire_du_fichier_excel
XLApp.Visible = True
XLApp.worksheets(1).Cells(1, 1).Value = mon_texte
Set XLApp = Nothing

worksheets = feuille (les 3 onglets en bas)
cells = cellulle avec ses coordonnées au format Cells(Num_ligne , Num_col)
donc dans mon exemple je me pose sur la cellulle 1 colonne A

Toutes ces commandes tu peut les retrouver dans excel sous forme de macron (Menu Outils/Macro)
et pour recuperer le code d'une action sous excel, tu créer simplement une macro dans ton document, tu lance l'enregistrement, fait l'action, puis enregistre.
Ensuite tu ouvre ta macro et tu clique sur modifier. tu aura accès au code qui aura été automatiquement généré.
0
TrafMaxime Messages postés 288 Date d'inscription mercredi 4 mai 2005 Statut Membre Dernière intervention 26 janvier 2012 1
31 oct. 2005 à 16:19
Pas mal la technique des Macros faiseuses de code, très malin !

Merci, mais j'ai finalement laissé tomber le projet...



ceci dit, on peut effectivement remplir des datasets à partir d'Excel, et même avec le même provider que pour Access...
a+ !
.Maytheforcebewithyou.Maxime.
0