Export vers Excel
Résolu/Fermé
Lenouveauapprenti
Messages postés
263
Date d'inscription
samedi 22 décembre 2018
Statut
Membre
Dernière intervention
4 août 2022
-
Modifié le 15 juil. 2019 à 20:08
Lenouveauapprenti Messages postés 263 Date d'inscription samedi 22 décembre 2018 Statut Membre Dernière intervention 4 août 2022 - 18 juil. 2019 à 16:59
Lenouveauapprenti Messages postés 263 Date d'inscription samedi 22 décembre 2018 Statut Membre Dernière intervention 4 août 2022 - 18 juil. 2019 à 16:59
A voir également:
- Export vers Excel
- Liste déroulante excel - Guide
- Formule excel - Guide
- Windows 7 vers windows 10 - Guide
- Déplacer une colonne excel - Guide
- Aller à la ligne excel - Guide
2 réponses
f894009
Messages postés
16904
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
18 mars 2023
1 678
16 juil. 2019 à 07:31
16 juil. 2019 à 07:31
Bonjour,
Soit passer par une commande Access ou par ADO
A voir pour ADO
https://docs.microsoft.com/fr-fr/office/troubleshoot/excel/transfer-data-to-excel-from-vb
Soit passer par une commande Access ou par ADO
A voir pour ADO
https://docs.microsoft.com/fr-fr/office/troubleshoot/excel/transfer-data-to-excel-from-vb
f894009
Messages postés
16904
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
18 mars 2023
1 678
18 juil. 2019 à 16:41
18 juil. 2019 à 16:41
Re,
En effet, c'est moi qui suit passe a cote
Ok, pour ce code
En effet, c'est moi qui suit passe a cote
Ok, pour ce code
16 juil. 2019 à 14:09
Merci pour m'avoir orienté vers ce support. Mon problème est résolu.
Je vous remets mon code après une légère adaptation à mon besoin.
Par ailleurs, il y'a Deux Observations, lesquelles puevent êtres corrigées manuellement.
1 La copie des données se faisait d'une façon aléatoire ( Déclassée)
2 L ' entête de la Table ne s'affiche pas
Private Sub CmdExporter_Click() 'Create a Recordset from all the records in the Orders table Dim sNWind As String Dim conn As New ADODB.Connection sNWind = _ "C:\Compta\BDCompta.mdb" conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & _ sNWind & ";" conn.CursorLocation = adUseClient Set RS = conn.Execute("TablePlanComptable", , adCmdTable) 'Create a new workbook in Excel Dim oExcel As Object Dim oBook As Object Dim oSheet As Object Set oExcel = CreateObject("Excel.Application") Set oBook = oExcel.Workbooks.Add Set oSheet = oBook.Worksheets(1) 'Transfer the data to Excel oSheet.Range("A1").CopyFromRecordset RS 'Save the Workbook and Quit Excel On Error GoTo nnn: CmnDialog.ShowOpen 'oBook.SaveAs "C:\Book1.xls" oExcel.Quit 'Close the connection RS.Close conn.Close Unload Me nnn: end sub16 juil. 2019 à 17:01
1 La copie des données se faisait d'une façon aléatoire ( Déclassée)
Pouvez expliquer un peu plus….
2 L'entête de la Table ne s'affiche pas
Tout a fait normal Thierry, car vous n'avez que les donnees dans un recordset.
Vous devez ecrire les entetes
16 juil. 2019 à 17:05
Comme je vous le disais, Ces Deux observations sont corrigeables manuellement.
Je voulais dire par ( déclassée), le transfert des données de la BD vers Excel ne respecte pas l'ordre de l'enregistrement dans la BD. Ce n'est pas grave.
16 juil. 2019 à 17:17
Utilsez une requete sql avec un order by du champ qui est suppose enregistre dans l'ordre plutôt que ceci
Set RS = conn.Execute("TablePlanComptable", , adCmdTable)Modifié le 16 juil. 2019 à 19:53
Avec toute ma reconnaissance.
Via la requête SQL avec Order by le transfert a bien réussi dans l'ordre des enregistrements.
Suite de quoi le code est devenu comme suite:
Private Sub CmdExporter_Click() 'Create a Recordset from all the records in the Orders table Dim sNWind As String Dim conn As New ADODB.Connection sNWind = _ "C:\Compta\BDCompta.mdb" conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & _ sNWind & ";" conn.CursorLocation = adUseClient 'Set RS = conn.Execute("TablePlanComptable", , adCmdTable) SQLs = "select * from TablePlanComptable where (Societe='" & CStr(VarSociete) & "')" & "order by Compte asc" If RS.State = adStateOpen Then RS.Close RS.Open SQLs, DB, adOpenKeyset, adLockPessimistic 'Create a new workbook in Excel Dim oExcel As Object Dim oBook As Object Dim oSheet As Object Set oExcel = CreateObject("Excel.Application") Set oBook = oExcel.Workbooks.Add Set oSheet = oBook.Worksheets(1) 'Transfer the data to Excel oSheet.Range("A1").CopyFromRecordset RS 'Save the Workbook and Quit Excel On Error GoTo nnn: CmnDialog.ShowOpen 'oBook.SaveAs "C:\Book1.xls" oExcel.Quit 'Close the connection RS.Close conn.Close Unload Me nnn: End Sub