Créer fichier XLS avec VB6

badyline Messages postés 5 Date d'inscription vendredi 25 juillet 2003 Statut Membre Dernière intervention 8 novembre 2005 - 8 nov. 2005 à 11:48
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 - 8 nov. 2005 à 23:30
Bonjour,
je souhaite créer un fichier xls en VB et remplir 2 lignes.

1) créer un fichier xls à partir de VB6
2) rmettre n'importe quoi dans les 2 premieres lignes du fichier
3)sauvegarder

Merci par avance

Nathalie

2 réponses

Tuning Max Messages postés 314 Date d'inscription mercredi 15 juin 2005 Statut Membre Dernière intervention 31 août 2006 1
8 nov. 2005 à 13:10
Voilà je l'ai testé et cela fonctionne bien chez moi. J'espère que cela taura aidé

Sub creafichier()
Dim appExcel As New Excel.Application, wbk As Workbook, wsht As Worksheet
Dim chNameOut As String, i As Integer, j As Integer, maVar As String


maVar = "test"
' Ouverture de l'application Excel
Set appExcel = CreateObject("Excel.Application")
With appExcel
.Workbooks.Add
.Visible = True 'mettre à True pour l'afficher à l'écran , mettre à False pour pas qu'Excel reste invisible
End With
Set wbk = ActiveWorkbook
Set wsht = ActiveSheet
With wbk
For i = 1 To 2
For j = 1 To 3
With wsht
.Cells(i, j).Value = maVar
End With
Next j
Next i
.SaveAs "c:\temp\testcréationfichier.xls"
End With
appExcel.Quit ' Une fois terminé, utilise la méthode Quit pour fermer
Set appExcel = Nothing ' puis libère la référence
End Sub
0
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 21
8 nov. 2005 à 23:30
Salut,

La démarche de Tuning Max est bonne mais, je préfère ce code, qui est équivalent :

Sub Creation_Fichier_Excel()
Dim appExcel As New Excel.Application


appExcel.Workbooks.Add


With appExcel.ActiveWorkbook.ActiveSheet
.Cells(1, 1).Value = "Cellule 1"
.Cells(1, 2).Value = "Cellule 2"
' ...
End With

appExcel.ActiveWorkbook.SaveAs "c:\temp\monfichiser.xls"
appExcel.Quit

Set appExcel = Nothing

End Sub

En effet, inutile de coder : Set appExcel = CreateObject("Excel.Application")
si on a déjà déclaré : Dim appExcel As New Excel.Application

D'autre part, le .Visible = True puis ensuite appExcel.Quit, ça peut poser des problèmes et générer des erreurs car l'un donne la main à l'utilisateur qui choisi de fermer, enregistrer, ... et l'autre qui quitte l'appli par prog. C'est un choix à faire.

Avec le code que j'ai proposé, l'utilisateur ne voit rien mais le fichier est créé.

Si tu veux que l'utilisateur voit le fichier s'afficher et lui donner le choix de sauvegarder ou non, précises-le.

-------------------------------------------------
Dresseur de puces, .... normal pour un loup !?
0
Rejoignez-nous