boursicotteur
Messages postés201Date d'inscriptionmercredi 25 septembre 2002StatutMembreDernière intervention10 novembre 2007
-
20 août 2004 à 16:24
Wadilabidi
Messages postés1Date d'inscriptionmardi 9 septembre 2003StatutMembreDernière intervention30 août 2005
-
30 août 2005 à 14:15
Voila,
J'ai un tableau sur une feuille Excell dont je veux mettre toutes les données dans un flexgrid.
cs_ITALIA
Messages postés2169Date d'inscriptionvendredi 20 avril 2001StatutMembreDernière intervention30 juin 20099 20 août 2004 à 16:41
Voici une méthode dont le principe consiste à faire un copier-coller de la feuille Excel vers la MsFlexGrid. Tu dois ajouter la reference "Microsoft Excel x.0 Object Library" à ton projet.
Places le code suivant dans un module standard. La procédure Excel2Flexgrid importe dans une MSFlexGrid le fichier dont le nom est passé en paramètre.
----------------------------------------------------------------------------------
Public Sub Excel2Flexgrid(flexgrid As MSFlexGrid, ByVal fichier As String)
Dim xlapp As Excel.Application
Dim classeur As Excel.Workbook, feuille As Excel.Worksheet, Plage As Excel.Range
Set xlapp = New Excel.Application
xlapp.DisplayAlerts = False
Set classeur = xlapp.Workbooks.Open(fichier)
Set feuille = xlapp.ActiveSheet
Set Plage = feuille.Range("A1").CurrentRegion
Set Plage = Nothing
Set feuille = Nothing
classeur.Close False
Set classeur = Nothing
Set xlapp = Nothing
End Sub
---------------------------------------------------------------------------------
Pour appeler la Procedure :
call Excel2Flexgrid(Me.Grid1,"C:\MonFichier.xls")
boursicotteur
Messages postés201Date d'inscriptionmercredi 25 septembre 2002StatutMembreDernière intervention10 novembre 2007 20 août 2004 à 19:05
Merci pour ton code! Je vais le tester ce soir.
La reference "Microsoft Excel x.0 Object Library" ne figure pas dans ma liste d'objets disponibles (Projet/Composants...) mais par contre elle est dans Projet/Références... et j'ai coché la case.
L'objet est maintenant dispo pour VB
boursicotteur
Messages postés201Date d'inscriptionmercredi 25 septembre 2002StatutMembreDernière intervention10 novembre 2007 22 août 2004 à 15:40
Salut It@li@,
Ton code fonctionne tellement bien que j'ai décidé de sauvegarder les données de mon flexgrid dans une feuille Excell plutôt que dans un fichier txt comme c'est mon habitude.
Alors tu n'aurais pas "par hasard" dans ta poche un code qui fait un copier-coller du MsFlexGridde vers la feuille Excel?
Evidemment je peux passer quelques heures à en écrire un mais si tu en a un sous la main...
azizitariq2005
Messages postés2Date d'inscriptionmercredi 2 mars 2005StatutMembreDernière intervention 7 mars 2005 2 mars 2005 à 03:07
salut boursicotteur
je m'excuse pour le dérangement
mais est ce que tu peut m'envoyer le programme (le programme complet en vb) qui t'as permis d'importer une feuille Excel et la mettre dans une flexgrid.
parceque j'essaye avec le Code du Membre ITALIA, mais j'arrive pas.
merci d'avance.
Vous n’avez pas trouvé la réponse que vous recherchez ?
boursicotteur
Messages postés201Date d'inscriptionmercredi 25 septembre 2002StatutMembreDernière intervention10 novembre 2007 2 mars 2005 à 16:16
Non je ne peux pas t'envoyer mon code au complet car en fin de compte j'ai décidé de ne pas utiliser excel pour stocker mes données. Oui je pouvais y lire le tableau très facilement mais par contre j'avais quelques problèmes pour y écrire un tableau. Le tableau s'écrivait mais apparemment c'est comme si je ne fermais pas la page et la j'avais une erreur. C'était probablement pas un gros problème mais j'ai quand-même décidé de stocker mon tableau dans un fichier txt. C'est très rapide et en prime c'est compatible partout car tout le monde peut lire un fichier txt; Ce qui n'est pas le cas avec excel car il faut AVOIR excel.
Si je me souviens bien, le code de italia fonctionnait bien comme tel mais j'y ai tout de même ajouté une toute petite ligne vers la fin.
Public Sub Excel2Flexgrid(flexgrid As MSFlexGrid, ByVal fichier As String)
Dim xlapp As Excel.Application
Dim classeur As Excel.Workbook, feuille As Excel.Worksheet, Plage As Excel.Range
Set xlapp = New Excel.Application
xlapp.DisplayAlerts = False
Set classeur = xlapp.Workbooks.Open(fichier)
Set feuille = xlapp.ActiveSheet
'Set feuille = xlapp.Sheets("Tout")
'Set Plage = feuille.Range("A1").CurrentRegion
Set Plage = feuille.Range("a23").CurrentRegion
azizitariq2005
Messages postés2Date d'inscriptionmercredi 2 mars 2005StatutMembreDernière intervention 7 mars 2005 7 mars 2005 à 01:17
bon tout d'abord merci de votre interet !
j'ai un travail à rendre en VB ou il m'est demandé de faire un prgramme qui permet :
- Récupérer une feuille Excel à partir d'un fichier excel existant.
(Donnée + Formatage + Formules de calcules)
- Envoyer des données saisies sur une grille (en VB) vers un fichier Excel a créer.
spidersub
Messages postés4Date d'inscriptionjeudi 26 mai 2005StatutMembreDernière intervention21 juin 2005 21 juin 2005 à 11:08
bonjour,
g un piti probleme car je fais une appli sur excel qui utilise une BD Oracle sous forme de TCD
mais a un endroit, comme je dois faire un top 3 des ventes, je stock
mes données dans un tcd caché et copie colle les 3 premieres lignes du
tcd préallablement classé en decroissant dans un autre tableau
excel.
le probleme est que g une erreur...incompatibilité de type.., ou encore erreur definie par l'appli ou par l'objet
Wadilabidi
Messages postés1Date d'inscriptionmardi 9 septembre 2003StatutMembreDernière intervention30 août 2005 30 août 2005 à 14:15
Moi je serais interresé par un bout de code qui fait le contraire...
c'est à dire qu'il me selectionne tout le contenu du flexgrid et qu'il me créé un fichier excel avec....
Si quelqu'un a ca en stock je suis preneur.