D'abord merci pour les r=E9ponses aux questions sur
- Correction d'une Saisie
- Sortie Contenu d'une ComboBox
elles m'ont permis de sortir d'une situation de bloquage
Maintenant je voudrais sortir des articles =E0 plusieurs champs(de style
articles comptables) dans un fichier Excel, donc :
- ouvrir ce fichier
- dimensionner les colonnes
- mettre Champ(i) dans Colonne(i)
- positionner sur la ligne suivante
- ...
A l'inverse je voudrais pouvoir rentrer ces donn=E9es (contenues dans un
fichier Excel)
- ouvrir ce fichier
- se positionner sur la ligne i ou travailler en entr=E9e s=E9quentielle
- mettre Colonne(j) dans Champ(j)
- ...
M'excusant de poser une question aussi basique, mais il me faut encore
passer ce cap
Bonne journ=E9e
Michel Arnoux
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
ydom
Bonjour,
Voici deux exemples qui, chez moi ont marché pour ouvrir une feuille excel et la manipuler à partir de VS2005:
1) Valable pour “Windows XP”/ Excel 7: - On a mis dans "nomclas" le nom complet du classeur excel: "C:/sss/zzz:YYY.xls". - Au préalable il faut avoir déclaré Excel en référence: Barre d'outil/'projet'/'ajouter une référence'/ onglet: COM-> sélectionner: 'Microsoft.ExcelL 8.0 Object Library'
Dim xlApp As Excel.Application Dim xlBook As Excel.Workbook Dim xlSheet As Excel.Worksheet
‘Pour accéder à une feuille existante nommée ici, "synthèse" : xlsheet1 = CType(xlBook.Worksheets(“synthèse”), Microsoft.Office.Interop.Excel.Worksheet) 'pour faire apparaître la feuille: xlsheet1.application.visible = True 'pour modifier une cellule (ici (2,2): xlSheet1.Cells(2, 2).value = "Cette colonne est: B row 2"
2) Autre exemple pour créer puis charger une base de donnée avec une feuille Excel qui contient deux feuilles nommées "DATAPOOL_COMPLET" et "def_packets". Le nom complet de la feuille Excel est saisi dans une "textbox" nommée "textbox1". Ce nom est de la forme: C:/sss/zzz/yyy/www.xls:
'Création de la base de donnée contenant deux tables: Dim dspackdef As New System.Data.DataSet() Dim table As DataTable
'Ensuite on a rempli ces tables à partir des deux feuilles du classeur par : Dim cn As System.Data.OleDb.OleDbConnection Dim cmd As System.Data.OleDb.OleDbDataAdapter cn = New System.Data.OleDb.OleDbConnection("provider=Microsoft.Jet.OLEDB.4.0;" & "data source=" & textBox1.Text & ";Extended Properties=Excel 5.0;") ' Select the data from the sheet 'def paquets' of the workbook. cmd = New System.Data.OleDb.OleDbDataAdapter("select * from [def_paquets$]", cn) ' Select the data from the sheet 'DATAPOOL_COMPLET' of the workbook. cmd2 = New System.Data.OleDb.OleDbDataAdapter("select * from [DATAPOOL_COMPLET$]", cn)
Puis on a manipulé les tables par les appels : table = dspackdef.Tables("def_pac") ‘puis, par exemple, lire le contenu de la colonne 0 : For Each row In table.Rows Valeur= Row.Item(0) Next
‘et : table = dspackdef.Tables("datapool") ‘puis, par exemple : For Each row In table.Rows Valeur= Row.Item(0) Next
Voilà, j'espère que ceci peut t'aider.
-- ydom
"" a écrit :
Bonjour,
D'abord merci pour les réponses aux questions sur - Correction d'une Saisie - Sortie Contenu d'une ComboBox elles m'ont permis de sortir d'une situation de bloquage
Maintenant je voudrais sortir des articles à plusieurs champs(de style articles comptables) dans un fichier Excel, donc : - ouvrir ce fichier - dimensionner les colonnes - mettre Champ(i) dans Colonne(i) - positionner sur la ligne suivante - ... A l'inverse je voudrais pouvoir rentrer ces données (contenues dans un fichier Excel) - ouvrir ce fichier - se positionner sur la ligne i ou travailler en entrée séquentielle - mettre Colonne(j) dans Champ(j) - ...
M'excusant de poser une question aussi basique, mais il me faut encore passer ce cap Bonne journée Michel Arnoux
Bonjour,
Voici deux exemples qui, chez moi ont marché pour ouvrir une feuille excel
et la manipuler à partir de VS2005:
1) Valable pour “Windows XP”/ Excel 7:
- On a mis dans "nomclas" le nom complet du classeur excel:
"C:/sss/zzz:YYY.xls".
- Au préalable il faut avoir déclaré Excel en référence: Barre
d'outil/'projet'/'ajouter une référence'/ onglet: COM-> sélectionner:
'Microsoft.ExcelL 8.0 Object Library'
Dim xlApp As Excel.Application
Dim xlBook As Excel.Workbook
Dim xlSheet As Excel.Worksheet
‘Pour accéder à une feuille existante nommée ici, "synthèse" :
xlsheet1 = CType(xlBook.Worksheets(“synthèse”),
Microsoft.Office.Interop.Excel.Worksheet)
'pour faire apparaître la feuille:
xlsheet1.application.visible = True
'pour modifier une cellule (ici (2,2):
xlSheet1.Cells(2, 2).value = "Cette colonne est: B row 2"
2) Autre exemple pour créer puis charger une base de donnée avec une feuille
Excel qui contient deux feuilles nommées "DATAPOOL_COMPLET" et "def_packets".
Le nom complet de la feuille Excel est saisi dans une "textbox" nommée
"textbox1". Ce nom est de la forme: C:/sss/zzz/yyy/www.xls:
'Création de la base de donnée contenant deux tables:
Dim dspackdef As New System.Data.DataSet()
Dim table As DataTable
'Ensuite on a rempli ces tables à partir des deux feuilles du classeur par :
Dim cn As System.Data.OleDb.OleDbConnection
Dim cmd As System.Data.OleDb.OleDbDataAdapter
cn = New
System.Data.OleDb.OleDbConnection("provider=Microsoft.Jet.OLEDB.4.0;" & "data
source=" & textBox1.Text & ";Extended Properties=Excel 5.0;")
' Select the data from the sheet 'def paquets' of the workbook.
cmd = New System.Data.OleDb.OleDbDataAdapter("select * from [def_paquets$]",
cn)
' Select the data from the sheet 'DATAPOOL_COMPLET' of the workbook.
cmd2 = New System.Data.OleDb.OleDbDataAdapter("select * from
[DATAPOOL_COMPLET$]", cn)
Puis on a manipulé les tables par les appels :
table = dspackdef.Tables("def_pac")
‘puis, par exemple, lire le contenu de la colonne 0 :
For Each row In table.Rows
Valeur= Row.Item(0)
Next
‘et :
table = dspackdef.Tables("datapool")
‘puis, par exemple :
For Each row In table.Rows
Valeur= Row.Item(0)
Next
Voilà, j'espère que ceci peut t'aider.
--
ydom
"michel.arnoux@gmail.com" a écrit :
Bonjour,
D'abord merci pour les réponses aux questions sur
- Correction d'une Saisie
- Sortie Contenu d'une ComboBox
elles m'ont permis de sortir d'une situation de bloquage
Maintenant je voudrais sortir des articles à plusieurs champs(de style
articles comptables) dans un fichier Excel, donc :
- ouvrir ce fichier
- dimensionner les colonnes
- mettre Champ(i) dans Colonne(i)
- positionner sur la ligne suivante
- ...
A l'inverse je voudrais pouvoir rentrer ces données (contenues dans un
fichier Excel)
- ouvrir ce fichier
- se positionner sur la ligne i ou travailler en entrée séquentielle
- mettre Colonne(j) dans Champ(j)
- ...
M'excusant de poser une question aussi basique, mais il me faut encore
passer ce cap
Bonne journée
Michel Arnoux
Voici deux exemples qui, chez moi ont marché pour ouvrir une feuille excel et la manipuler à partir de VS2005:
1) Valable pour “Windows XP”/ Excel 7: - On a mis dans "nomclas" le nom complet du classeur excel: "C:/sss/zzz:YYY.xls". - Au préalable il faut avoir déclaré Excel en référence: Barre d'outil/'projet'/'ajouter une référence'/ onglet: COM-> sélectionner: 'Microsoft.ExcelL 8.0 Object Library'
Dim xlApp As Excel.Application Dim xlBook As Excel.Workbook Dim xlSheet As Excel.Worksheet
‘Pour accéder à une feuille existante nommée ici, "synthèse" : xlsheet1 = CType(xlBook.Worksheets(“synthèse”), Microsoft.Office.Interop.Excel.Worksheet) 'pour faire apparaître la feuille: xlsheet1.application.visible = True 'pour modifier une cellule (ici (2,2): xlSheet1.Cells(2, 2).value = "Cette colonne est: B row 2"
2) Autre exemple pour créer puis charger une base de donnée avec une feuille Excel qui contient deux feuilles nommées "DATAPOOL_COMPLET" et "def_packets". Le nom complet de la feuille Excel est saisi dans une "textbox" nommée "textbox1". Ce nom est de la forme: C:/sss/zzz/yyy/www.xls:
'Création de la base de donnée contenant deux tables: Dim dspackdef As New System.Data.DataSet() Dim table As DataTable
'Ensuite on a rempli ces tables à partir des deux feuilles du classeur par : Dim cn As System.Data.OleDb.OleDbConnection Dim cmd As System.Data.OleDb.OleDbDataAdapter cn = New System.Data.OleDb.OleDbConnection("provider=Microsoft.Jet.OLEDB.4.0;" & "data source=" & textBox1.Text & ";Extended Properties=Excel 5.0;") ' Select the data from the sheet 'def paquets' of the workbook. cmd = New System.Data.OleDb.OleDbDataAdapter("select * from [def_paquets$]", cn) ' Select the data from the sheet 'DATAPOOL_COMPLET' of the workbook. cmd2 = New System.Data.OleDb.OleDbDataAdapter("select * from [DATAPOOL_COMPLET$]", cn)
Puis on a manipulé les tables par les appels : table = dspackdef.Tables("def_pac") ‘puis, par exemple, lire le contenu de la colonne 0 : For Each row In table.Rows Valeur= Row.Item(0) Next
‘et : table = dspackdef.Tables("datapool") ‘puis, par exemple : For Each row In table.Rows Valeur= Row.Item(0) Next
Voilà, j'espère que ceci peut t'aider.
-- ydom
"" a écrit :
Bonjour,
D'abord merci pour les réponses aux questions sur - Correction d'une Saisie - Sortie Contenu d'une ComboBox elles m'ont permis de sortir d'une situation de bloquage
Maintenant je voudrais sortir des articles à plusieurs champs(de style articles comptables) dans un fichier Excel, donc : - ouvrir ce fichier - dimensionner les colonnes - mettre Champ(i) dans Colonne(i) - positionner sur la ligne suivante - ... A l'inverse je voudrais pouvoir rentrer ces données (contenues dans un fichier Excel) - ouvrir ce fichier - se positionner sur la ligne i ou travailler en entrée séquentielle - mettre Colonne(j) dans Champ(j) - ...
M'excusant de poser une question aussi basique, mais il me faut encore passer ce cap Bonne journée Michel Arnoux