Dans mon programme VB6 je fait un exportation vers Excel
Voici le code
'on dit que l'objet est de type feuille excel et ouvre Excel
Set DocExcel = CreateObject("Excel.Application")
'mettre à True pour l'afficher à l'écran , mettre à False pour pas
qu'Excel reste invisible
*******************************************************
L'erreur arrive sur la ligne suivante et les autres même si je passe cette
ligne
Erreur automation
Quand je suis sur Windows XP pas problème
mais en windows 98 la sa me donne une erreur
Microsoft Excel 2000 d'installer
'supprime l'affichage des messages d'erreurs ou de confirmation de
suppression, ...
DocExcel.DisplayAlerts = False
'ajoute un nouveau classeur
DocExcel.Workbooks.Add
'selectionne la feuille du classeur
DocExcel.Sheets("Feuil2").Select
'on supprime cette feuille
DocExcel.ActiveWindow.SelectedSheets.Delete
'on fait pareil avec la feuille 3
DocExcel.Sheets("Feuil3").Select
DocExcel.ActiveWindow.SelectedSheets.Delete
'on selectionne la feuille 1 (la seule qui reste)
DocExcel.Sheets("Feuil1").Select
'on change le nom de celle ci
DocExcel.Sheets("Feuil1").Name = NomFichier
'on change la largeur de la colonne
DocExcel.Columns("A:N").ColumnWidth = 30
'on met la date et l'heure
'DocExcel.Range("A1").Select
'une fusion de cellule
DocExcel.Range("A1:L1").Select
test = ParametreExcel(DocExcel, "MS Sérif", TAILLEPOLICE14, False,
False, 0, True)
DocExcel.ActiveCell.FormulaR1C1 = LeTitre '"Rapport d'analyse et
statistique du rapport journalier"
Tu travailles avec du late-binding, c'est à dire qu'en théorie si le poste de dévellopement a, supposons, Excel 2003 et bien le programme devrait fonctionner correctement même si le poste client à une autre version d'installer. Toutefois, j'ai bien peur que toutes les versions d'excel ne soit compatible entre elles..
Tu travailles avec du late-binding, c'est à dire qu'en théorie si le poste
de dévellopement a, supposons, Excel 2003 et bien le programme devrait
fonctionner correctement même si le poste client à une autre version
d'installer. Toutefois, j'ai bien peur que toutes les versions d'excel ne
soit compatible entre elles..
Tu travailles avec du late-binding, c'est à dire qu'en théorie si le poste de dévellopement a, supposons, Excel 2003 et bien le programme devrait fonctionner correctement même si le poste client à une autre version d'installer. Toutefois, j'ai bien peur que toutes les versions d'excel ne soit compatible entre elles..
Sub Excel() Dim DocExcel As Object Dim NomFichier As String Dim NbFe As Integer
Set DocExcel = CreateObject("Excel.Application") NomFichier = "Ma feuille à moi"
With DocExcel .Visible = True 'False 'nombre de feuilles initiales NbFe = .SheetsInNewWorkbook 'n'ajoute qu'une feuille .SheetsInNewWorkbook = 1 .Workbooks.Add 'remet comme avant... .SheetsInNewWorkbook = NbFe With .ActiveSheet 'on change le nom de celle ci .Name = NomFichier 'on change la largeur de la colonne .[A:N].ColumnWidth = 30 'on met la date et l'heure .[A1] = Date 'une fusion de cellule .[A1:L1].MergeCells = True ' test = ParametreExcel(DocExcel, "MS Sérif", TAILLEPOLICE14, False, False, 0, True) ' .ActiveCell.FormulaR1C1 = LeTitre End With End With Set DocExcel = Nothing End Sub
Hervé.
"Yves" a écrit dans le message news:
Bonjour à tous,
Voici mon problème.
Dans mon programme VB6 je fait un exportation vers Excel
Voici le code
'on dit que l'objet est de type feuille excel et ouvre Excel Set DocExcel = CreateObject("Excel.Application")
'mettre à True pour l'afficher à l'écran , mettre à False pour pas qu'Excel reste invisible ******************************************************* L'erreur arrive sur la ligne suivante et les autres même si je passe cette ligne Erreur automation Quand je suis sur Windows XP pas problème mais en windows 98 la sa me donne une erreur Microsoft Excel 2000 d'installer
'supprime l'affichage des messages d'erreurs ou de confirmation de suppression, ... DocExcel.DisplayAlerts = False
'ajoute un nouveau classeur DocExcel.Workbooks.Add 'selectionne la feuille du classeur DocExcel.Sheets("Feuil2").Select 'on supprime cette feuille DocExcel.ActiveWindow.SelectedSheets.Delete 'on fait pareil avec la feuille 3 DocExcel.Sheets("Feuil3").Select DocExcel.ActiveWindow.SelectedSheets.Delete 'on selectionne la feuille 1 (la seule qui reste) DocExcel.Sheets("Feuil1").Select 'on change le nom de celle ci DocExcel.Sheets("Feuil1").Name = NomFichier
'on change la largeur de la colonne DocExcel.Columns("A:N").ColumnWidth = 30
'on met la date et l'heure 'DocExcel.Range("A1").Select
'une fusion de cellule DocExcel.Range("A1:L1").Select test = ParametreExcel(DocExcel, "MS Sérif", TAILLEPOLICE14, False, False, 0, True) DocExcel.ActiveCell.FormulaR1C1 = LeTitre '"Rapport d'analyse et statistique du rapport journalier"
Salut Yves,
Essai ceci :
Sub Excel()
Dim DocExcel As Object
Dim NomFichier As String
Dim NbFe As Integer
Set DocExcel = CreateObject("Excel.Application")
NomFichier = "Ma feuille à moi"
With DocExcel
.Visible = True 'False
'nombre de feuilles initiales
NbFe = .SheetsInNewWorkbook
'n'ajoute qu'une feuille
.SheetsInNewWorkbook = 1
.Workbooks.Add
'remet comme avant...
.SheetsInNewWorkbook = NbFe
With .ActiveSheet
'on change le nom de celle ci
.Name = NomFichier
'on change la largeur de la colonne
.[A:N].ColumnWidth = 30
'on met la date et l'heure
.[A1] = Date
'une fusion de cellule
.[A1:L1].MergeCells = True
' test = ParametreExcel(DocExcel, "MS Sérif", TAILLEPOLICE14, False,
False, 0, True)
' .ActiveCell.FormulaR1C1 = LeTitre
End With
End With
Set DocExcel = Nothing
End Sub
Hervé.
"Yves" <cpsqinfo@globetrotter.qc.ca> a écrit dans le message news:
OCI08ODZEHA.3304@TK2MSFTNGP09.phx.gbl...
Bonjour à tous,
Voici mon problème.
Dans mon programme VB6 je fait un exportation vers Excel
Voici le code
'on dit que l'objet est de type feuille excel et ouvre Excel
Set DocExcel = CreateObject("Excel.Application")
'mettre à True pour l'afficher à l'écran , mettre à False pour pas
qu'Excel reste invisible
*******************************************************
L'erreur arrive sur la ligne suivante et les autres même si je passe cette
ligne
Erreur automation
Quand je suis sur Windows XP pas problème
mais en windows 98 la sa me donne une erreur
Microsoft Excel 2000 d'installer
'supprime l'affichage des messages d'erreurs ou de confirmation de
suppression, ...
DocExcel.DisplayAlerts = False
'ajoute un nouveau classeur
DocExcel.Workbooks.Add
'selectionne la feuille du classeur
DocExcel.Sheets("Feuil2").Select
'on supprime cette feuille
DocExcel.ActiveWindow.SelectedSheets.Delete
'on fait pareil avec la feuille 3
DocExcel.Sheets("Feuil3").Select
DocExcel.ActiveWindow.SelectedSheets.Delete
'on selectionne la feuille 1 (la seule qui reste)
DocExcel.Sheets("Feuil1").Select
'on change le nom de celle ci
DocExcel.Sheets("Feuil1").Name = NomFichier
'on change la largeur de la colonne
DocExcel.Columns("A:N").ColumnWidth = 30
'on met la date et l'heure
'DocExcel.Range("A1").Select
'une fusion de cellule
DocExcel.Range("A1:L1").Select
test = ParametreExcel(DocExcel, "MS Sérif", TAILLEPOLICE14, False,
False, 0, True)
DocExcel.ActiveCell.FormulaR1C1 = LeTitre '"Rapport d'analyse et
statistique du rapport journalier"
Sub Excel() Dim DocExcel As Object Dim NomFichier As String Dim NbFe As Integer
Set DocExcel = CreateObject("Excel.Application") NomFichier = "Ma feuille à moi"
With DocExcel .Visible = True 'False 'nombre de feuilles initiales NbFe = .SheetsInNewWorkbook 'n'ajoute qu'une feuille .SheetsInNewWorkbook = 1 .Workbooks.Add 'remet comme avant... .SheetsInNewWorkbook = NbFe With .ActiveSheet 'on change le nom de celle ci .Name = NomFichier 'on change la largeur de la colonne .[A:N].ColumnWidth = 30 'on met la date et l'heure .[A1] = Date 'une fusion de cellule .[A1:L1].MergeCells = True ' test = ParametreExcel(DocExcel, "MS Sérif", TAILLEPOLICE14, False, False, 0, True) ' .ActiveCell.FormulaR1C1 = LeTitre End With End With Set DocExcel = Nothing End Sub
Hervé.
"Yves" a écrit dans le message news:
Bonjour à tous,
Voici mon problème.
Dans mon programme VB6 je fait un exportation vers Excel
Voici le code
'on dit que l'objet est de type feuille excel et ouvre Excel Set DocExcel = CreateObject("Excel.Application")
'mettre à True pour l'afficher à l'écran , mettre à False pour pas qu'Excel reste invisible ******************************************************* L'erreur arrive sur la ligne suivante et les autres même si je passe cette ligne Erreur automation Quand je suis sur Windows XP pas problème mais en windows 98 la sa me donne une erreur Microsoft Excel 2000 d'installer
'supprime l'affichage des messages d'erreurs ou de confirmation de suppression, ... DocExcel.DisplayAlerts = False
'ajoute un nouveau classeur DocExcel.Workbooks.Add 'selectionne la feuille du classeur DocExcel.Sheets("Feuil2").Select 'on supprime cette feuille DocExcel.ActiveWindow.SelectedSheets.Delete 'on fait pareil avec la feuille 3 DocExcel.Sheets("Feuil3").Select DocExcel.ActiveWindow.SelectedSheets.Delete 'on selectionne la feuille 1 (la seule qui reste) DocExcel.Sheets("Feuil1").Select 'on change le nom de celle ci DocExcel.Sheets("Feuil1").Name = NomFichier
'on change la largeur de la colonne DocExcel.Columns("A:N").ColumnWidth = 30
'on met la date et l'heure 'DocExcel.Range("A1").Select
'une fusion de cellule DocExcel.Range("A1:L1").Select test = ParametreExcel(DocExcel, "MS Sérif", TAILLEPOLICE14, False, False, 0, True) DocExcel.ActiveCell.FormulaR1C1 = LeTitre '"Rapport d'analyse et statistique du rapport journalier"