Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Création de fichier XLS sous VBA

2 réponses
Avatar
gege
Bonjour

J'aimerais depuis une code VBA implémenté sous Excel créer un nouveau
fichier Excel (ou ouvrir un existant), insérer des infos dans les
Sheets, et le refermer, le tout de facon invisible (sans message de
confirmation). L'enregistrement de macro me donne une premiere méthode mais
je voudrais utiliser des objets comme dans :

Dim excelFile As New Excel.Application
Set excelFile = CreateObject(Excel.Application)
excelFile.Workbooks.Open (monfichier.xls)
excelFile.Workbooks.Close

afin de réutiliser le code dans d autres applications gérant le VBA.
Je ne connais pas trop cette syntaxe et j'aimerais donc un petit exemple.

Thx evrybody !
GG

2 réponses

Avatar
Alain CROS
Bonjour.

Un petit exemple simpliste.

Sub CreerBook()
Dim XL As Object, WK As Object
Set XL = CreateObject("Excel.Application")
Set WK = XL.Workbooks.Add(&HFFFFEFB9)
With WK
With .Worksheets(1&)
.[A1] = 3&
.[A1:A10].DataSeries , , , 2&
.[B1] = 2&
.[B1:B10].DataSeries , , , 3&
.[D5].Formula = "=SUMPRODUCT((A1:A10>10)*(B1:B10<20))"
End With
.SaveAs CurDir & XL.PathSeparator & "MonFichierCreer.xls"
.Close
End With
XL.Quit
Set WK = Nothing
Set XL = Nothing
End Sub

Alain CROS

"gege" a écrit dans le message de news: 41e92673$0$25791$
Bonjour

J'aimerais depuis une code VBA implémenté sous Excel créer un nouveau
fichier Excel (ou ouvrir un existant), insérer des infos dans les
Sheets, et le refermer, le tout de facon invisible (sans message de
confirmation). L'enregistrement de macro me donne une premiere méthode mais
je voudrais utiliser des objets comme dans :

Dim excelFile As New Excel.Application
Set excelFile = CreateObject(Excel.Application)
excelFile.Workbooks.Open (monfichier.xls)
excelFile.Workbooks.Close

afin de réutiliser le code dans d autres applications gérant le VBA.
Je ne connais pas trop cette syntaxe et j'aimerais donc un petit exemple.

Thx evrybody !
GG





Avatar
gege
Merci beaucoup Alain pour ta réponse !

Quelle serait la différence entre ton
"CreateObject("Excel.Application")"
et un
"Dim objExcel As New Excel.Application"

En fait je pensais à un code comme :

Sub createNewFile()

Dim objExcel As New Excel.Application
Dim objWorkbook As Excel.Workbook
Set objWorkbook = objExcel.Workbooks.Add

objWorkbook.Worksheets(1).Cells(4, 3) = 55
objWorkbook.SaveAs Filename:="C:monfichier.xls"
objWorkbook.Save
objWorkbook.Close
objExcel.Version

Set objWorkbook = Nothing
Set objExcel = Nothing

End Sub

Merci encore
++






"Alain CROS" a écrit dans le message de news:
eh7r8z0%
Bonjour.

Un petit exemple simpliste.

Sub CreerBook()
Dim XL As Object, WK As Object
Set XL = CreateObject("Excel.Application")
Set WK = XL.Workbooks.Add(&HFFFFEFB9)
With WK
With .Worksheets(1&)
.[A1] = 3&
.[A1:A10].DataSeries , , , 2&
.[B1] = 2&
.[B1:B10].DataSeries , , , 3&
.[D5].Formula = "=SUMPRODUCT((A1:A10>10)*(B1:B10<20))"
End With
.SaveAs CurDir & XL.PathSeparator & "MonFichierCreer.xls"
.Close
End With
XL.Quit
Set WK = Nothing
Set XL = Nothing
End Sub

Alain CROS

"gege" a écrit dans le message de news:
41e92673$0$25791$
Bonjour

J'aimerais depuis une code VBA implémenté sous Excel créer un nouveau
fichier Excel (ou ouvrir un existant), insérer des infos dans les
Sheets, et le refermer, le tout de facon invisible (sans message de
confirmation). L'enregistrement de macro me donne une premiere méthode
mais
je voudrais utiliser des objets comme dans :

Dim excelFile As New Excel.Application
Set excelFile = CreateObject(Excel.Application)
excelFile.Workbooks.Open (monfichier.xls)
excelFile.Workbooks.Close

afin de réutiliser le code dans d autres applications gérant le VBA.
Je ne connais pas trop cette syntaxe et j'aimerais donc un petit exemple.

Thx evrybody !
GG