OVH Cloud OVH Cloud

remplir un fichier excel

2 réponses
Avatar
Fredo
bonjour à toutes et à tous

peut-on remplir un fichier Excel automatiquement, par l'intermédiaire d'une
requête par exemple?
ça m'éviterai de refaire à chaque fois la mise en page de mon fichier Excel
(en-tête, pied de page, impression, etc.)

Merci

2 réponses

Avatar
Philippe T [MS]
Bonjour,

Il est toujours possible de faire des choses du genre :

Dim objXL
Set objXL = WScript.CreateObject("Excel.Application")

objXL.Cells(1, 1).Value = "Mon texte"


----------------------------------------------------------------------
Philippe TROTIN - Microsoft Service France

"Fredo" wrote in message
news:426227e6$0$6816$
bonjour à toutes et à tous

peut-on remplir un fichier Excel automatiquement, par l'intermédiaire
d'une requête par exemple?
ça m'éviterai de refaire à chaque fois la mise en page de mon fichier
Excel (en-tête, pied de page, impression, etc.)

Merci



Avatar
Pascal
salut,
par automation tu peux tout faire

Par exemple:

'ouvrir le fichier Excell
Dim xlApp As Excel.Application
Dim wbk As Excel.Workbook
Dim sht As Excel.Worksheet

'Créer un objet Excell
Set xlApp = CreateObject("Excel.Application")
With xlApp
' Rendre Excell visible
.Visible = True
' Créer un nouveau classeur
Set wbk = .Workbooks.Add
' Instancier la feuille active dans le classeur
Set sht = wbk.ActiveSheet
sht.Name = "MonFichierExcell"
End With

'Préparer la feuille Excell à l'écriture (format)
sht.Cells(1, 1) = "Test1"
sht.Cells(1, 2) = "Test2"
sht.Cells(1, 3) = "Test3"
sht.Cells(1, 4) = "Test4"
sht.Cells(1, 5) = "Test5"
sht.Cells(1,6) = "Test6"
'Redimensionner les colonnes
sht.Range(sht.Cells(1, 1), sht.Cells(1, 5)).ColumnWidth = 8
sht.Range(sht.Cells(1, 6), sht.Cells(1, 6)).ColumnWidth = 10

'Mettre en gras les entêtes
sht.Range(sht.Cells(1, 1), sht.Cells(1, 6)).Font.FontStyle "Gras"

'Mettre en gras la colonne F
sht.Range(sht.Cells(1, 6), sht.Cells(65535,
6)).Columns.Font.FontStyle = "Gras"

'centrer l'affichage
sht.Range(sht.Cells(1, 1), sht.Cells(65535,
6)).Columns.HorizontalAlignment = xlCenter

'insérer les filtres
sht.Range(sht.Cells(1, 1), sht.Cells(1, 6)).AutoFilter

etc...
etc... la liste n'est pas exhaustive
'====================== 'pour écriture dans Excell
nbrenreg = t3.RecordCount
t3.MoveFirst

For nbrenregistrement = 1 To nbrenreg
'écrire dans excell
For f = 1 To 6
sht.Cells(nbrenregistrement , f).Value = t3(f )
Next f
'enregistrement suivant
t3.MoveNext
Next nbrenregistrement

'sauvergarder les données et fermer la table Excell
wbk.SaveAs ("C:Documents and SettingsUserBureau" & "Ma
premièreSauvegarde")
wbk.Close
xlApp.Quit

'Ne pas oublier de libèrer les objets
Set sht = Nothing
Set wbk = Nothing
Set xlApp = Nothing

Esperant t'avoir aider
Pascal

"Philippe T [MS]" a écrit dans le message de
news: #
Bonjour,

Il est toujours possible de faire des choses du genre :

Dim objXL
Set objXL = WScript.CreateObject("Excel.Application")

objXL.Cells(1, 1).Value = "Mon texte"


----------------------------------------------------------------------
Philippe TROTIN - Microsoft Service France

"Fredo" wrote in message
news:426227e6$0$6816$
bonjour à toutes et à tous

peut-on remplir un fichier Excel automatiquement, par l'intermédiaire
d'une requête par exemple?
ça m'éviterai de refaire à chaque fois la mise en page de mon fichier
Excel (en-tête, pied de page, impression, etc.)

Merci