Bonjour. Ceci n'est pas une question mais une synthèse de ma recherche d'hier que je souhaite partarger avec ceux qui en ont besoin.
Ci dessous, vous trouverez donc un code simple mais "complet" permettant de créer un fichier "Excel".
Set AppExcel = CreateObject("Excel.Application")
AppExcel.Visible = False
AppExcel.AlertBeforeOverwriting = False
AppExcel.DisplayAlerts = False
Set FichierExcel = AppExcel.Workbooks.Add
For Lig_Excel = 1 To 4
For Col_Excel = 1 To 10
AppExcel.Worksheets(1).Select ' Positionnement dans la feuille
AppExcel.Cells(Lig_Excel, Col_Excel).Select ' Positionnement dans la cellule
If Lig_Excel = 1 Then ' 1
ère ligne
With AppExcel.Selection
.HorizontalAlignment = xlCenter ' Centré
End With
AppExcel.Selection.Font.Bold = True ' Gras
AppExcel.Worksheets(1).Cells(Lig_Excel, Col_Excel).Value = "Colonne " & Col_Excel
Else Lignes suivantes
With AppExcel.Selection
.HorizontalAlignment = xlCenter ' Centré (pas obligatoire mais pour lexemple)
End With
If Col_Excel = 2 Then ' Mettre un nombre au format texte
AppExcel.Worksheets(1).Cells(Lig_Excel, Col_Excel).NumberFormat = "@"
ElseIf Col_Excel = 4 Then ' Mettre des 0 devant un nombre
AppExcel.Worksheets(1).Cells(Lig_Excel, Col_Excel).NumberFormat = String(5, "0")
ElseIf Col_Excel = 6 Then ' Mettre des décimales à la fin d'un nombre
AppExcel.Worksheets(1).Cells(Lig_Excel, Col_Excel).NumberFormat = "#,##0." & String(2, "0")
ElseIf Col_Excel = 8 Then
With AppExcel.Selection.Interior
.ColorIndex = Lig_Excel + 1 ' Mettre une couleur dans une cellule (le choix du code couleur nest que pour lexemple)
End With
End If
AppExcel.Worksheets(1).Cells(Lig_Excel, Col_Excel).Value = Lig_Excel * Col_Excel
End If
Next Col_Excel
Next Lig_Excel
FichierExcel.SaveAs "E:\Chasseco_2005\Exports\Export.xls", , , , , , , True
FichierExcel.Close
Set FichierExcel = Nothing
AppExcel.Quit
Set AppExcel = Nothing