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

VB avec Excel (Erreur automation)

4 réponses
Avatar
Yves
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

Avez vous une solution

Yves
*******************************************************
DocExcel.Visible = False


'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"

4 réponses

Avatar
Zoury
> 'on dit que l'objet est de type feuille excel et ouvre Excel
Set DocExcel = CreateObject("Excel.Application")



Comment as-tu déclaré DocExcel? Est-ce que ton projet utilise (références)
une librairie Excel ?

Ce document t'aidera peut-être..
http://faq.vb.free.fr/index.php?question4


--
Cordialement
Yanick Lefebvre - MVP pour Visual Basic
http://faq.vb.free.fr/?rubrique=0 - http://www.mvps.org/vbnet/
http://www.mentalis.org/agnet/apiguide.shtml - http://www.mztools.com/
Avatar
Yves
Pas de référence

mais

Public DocExcel As Object

doije utiliser une référence?

Merci pour tes réponse


"Zoury" a écrit dans le message de
news:%
> 'on dit que l'objet est de type feuille excel et ouvre Excel
> Set DocExcel = CreateObject("Excel.Application")

Comment as-tu déclaré DocExcel? Est-ce que ton projet utilise (références)
une librairie Excel ?

Ce document t'aidera peut-être..
http://faq.vb.free.fr/index.php?question4


--
Cordialement
Yanick Lefebvre - MVP pour Visual Basic
http://faq.vb.free.fr/?rubrique=0 - http://www.mvps.org/vbnet/
http://www.mentalis.org/agnet/apiguide.shtml - http://www.mztools.com/





Avatar
Zoury
> Pas de référence
Public DocExcel As Object



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..

Quelle version est installée sur le poste client?

--
Cordialement
Yanick Lefebvre - MVP pour Visual Basic
http://faq.vb.free.fr/?rubrique=0 - http://www.mvps.org/vbnet/
http://www.mentalis.org/agnet/apiguide.shtml - http://www.mztools.com/
Avatar
Hervé
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" 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

Avez vous une solution

Yves
*******************************************************
DocExcel.Visible = False


'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"