Je cherche à coder quelque chose dans Access 2000 qui m'a l'air assez compliqué, et je me demande déjà si c'est possible.
Je dois écrire un programme qui exporte une table de données Access vers un fichier Excel, puis qui exécute automatiquement une macro sur le fichier Excel tout en le créant. En fait, lors de mon export, Excel ajoute automatiquement des apostrophes devant toutes les données qui sont en format texte, et je souhaite les enlever à l'aide d'un bout de code qui change le format des cellules concernées (la première colonne) en standard plutôt qu'en texte.
J'ai le code pour changer le format (récupéré à partir d'une macro, donc ; j'ai utilisé le menu Convertir dans Excel), j'ai le code pour l'export (j'utilise DoCmd.TransferSpreadsheet), et je cherche donc à ce que ces apostrophes soient supprimées directement depuis Access, en même temps que la création du fichier d'export Excel.
Est-ce que je lui en demande trop ? :D
Merci d'avance
A voir également:
[VB.NET -> VBA]Export Excel depuis Access et exécution d'une macro
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018220 21 mai 2013 à 10:30
Bonjour,
Juste une question, pour l'instant :
Quelles sont les raisons qui te conduisent à Piloter VBA/Access et VBA/Excel depuis VB.Net ?
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
Ah mince, je me suis gouré de section en fait. Je travaille pas du tout depuis VB.NET (je suis même pas sûr de savoir ce que c'est). Quelqu'un peut-il déplacer mon post par ici, du coup ? >> http://www.vbfrance.com/forum/theme-BASE-DONNEES_234.aspx
J'ai trouvé un moyen de résoudre mon problème, après pas mal de tâtonnements et en utilisant l'Automation Excel. Voici le code de ma fonction tueuse d'apostrophes (code qui peut se simplifier, d'ailleurs) :
Function ApostropheKiller(NomFichierExport As String)
Dim oAppExcel As Excel.Application
Dim oClasseur As Excel.Workbook
Dim oFeuille As Excel.Worksheet
'Ouvre le fichier excel
Set oAppExcel = CreateObject("Excel.Application")
Set oClasseur = oAppExcel.Workbooks.Open(NomFichierExport)
'Sélectionne la première feuille
Set oFeuille = oClasseur.Worksheets(1)
'Macro pour virer les apostrophes
oFeuille.Columns("A:A").TextToColumns Destination:=oFeuille.Range("A1"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
Semicolon:=False, Comma:=False, Space:=False, Other:=False, FieldInfo _
:=Array(1, 1), TrailingMinusNumbers:=True
'Sélectionne la deuxième feuille
Set oFeuille = oClasseur.Worksheets(2)
oFeuille.Columns("A:A").TextToColumns Destination:=oFeuille.Range("A1"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
Semicolon:=False, Comma:=False, Space:=False, Other:=False, FieldInfo _
:=Array(1, 1), TrailingMinusNumbers:=True
'Ferme Excel
oClasseur.Save
oClasseur.Close
oAppExcel.Quit
Set oAppExcel = Nothing
Set oClasseur = Nothing
Set oFeuille = Nothing
End Function