Dans mon programme VB6 je fait un exportation vers Excel
Voici le code
Sub ExportationExel(LaForm As Form, LaGrille As Object, LeTitre As String,
LeFichier As String)
Dim DocExcel As Object
Dim test As Boolean
Dim NomFichier As String
Dim x As Integer
Dim LaLigne As Integer
Dim LaCol As Integer
On Error GoTo err_ExportationExel
Screen.MousePointer = vbHourglass
'Personnage MSAgent de Microsoft
If boolPersonnage Then
AfficherPersonnage LaForm, "rechercher", , 110, 258
End If
'on dit que l'objet est de type feuille excel et ouvre Excel
Set DocExcel = CreateObject("Excel.Application")
With DocExcel
'mettre à True pour l'afficher à l'écran , mettre à False pour pas
qu'Excel reste invisible
****************************************************************************
**********
ERREUR ERREUR ERREUR ERREUR ERREUR ERREUR ERREUR ERREUR
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 (Erreur automation)
.Visible = False
'supprime l'affichage des messages d'erreurs ou de confirmation de
suppression, ...
.DisplayAlerts = False
'ajoute un nouveau classeur
.Workbooks.Add
'selectionne la feuille du classeur
.Sheets("Feuil2").Select
'on supprime cette feuille
.ActiveWindow.SelectedSheets.Delete
'on fait pareil avec la feuille 3
.Sheets("Feuil3").Select
.ActiveWindow.SelectedSheets.Delete
'on selectionne la feuille 1 (la seule qui reste)
.Sheets("Feuil1").Select
'on change le nom de celle ci
.Sheets("Feuil1").Name = NomFichier
'on change la largeur de la colonne
.Columns("A:N").ColumnWidth = 30
'on met la date et l'heure
'.Range("A1").Select
'une fusion de cellule
.Range("A1:L1").Select
test = ParametreExcel(DocExcel, "MS Sérif", TAILLEPOLICE14, False,
False, 0, True)
.ActiveCell.FormulaR1C1 = LeTitre '"Rapport d'analyse et statistique
du rapport journalier"
'*****************************************
'*** Entete des colonnes
'*****************************************
For x = 0 To LaGrille.Cols - 1
.Range(Chr(65 + x) & "3").Select
test = ParametreExcel(DocExcel, "MS Sérif", TAILLEPOLICE10,
True, False, 0, True)
' If X <> 13 Then
If LaGrille.ColWidth(x) <> 0 Then
.ActiveCell.FormulaR1C1 = LaGrille.TextMatrix(0, x)
End If
' End If
Next
'*****************************************
'*** Les cellules
'*****************************************
LaForm.ProgressBar.Max = LaGrille.Rows - 1
For LaLigne = 1 To LaGrille.Rows - 1
For LaCol = 1 To LaGrille.Cols
.Range(Chr(64 + LaCol) & Trim(str(LaLigne + 3))).Select
'Les titre des colonnes
' test = ParametreExcel(DocExcel, "MS Sérif", TAILLEPOLICE10,
False, False, 0, True)
'.Selection.NumberFormat = "@"
If LaGrille.ColWidth(LaCol - 1) <> 0 Then
.ActiveCell.NumberFormat = "@"
.ActiveCell.FormulaR1C1 =
IIf(Len(LaGrille.TextMatrix(LaLigne, LaCol - 1)) = 0, " ",
LaGrille.TextMatrix(LaLigne, LaCol - 1))
End If
Next LaCol
LaForm.ProgressBar.Value = LaLigne
Next LaLigne
'on sauvegarde la feuille sous le nom contenu dans NomFichier
'.ActiveWorkbook.SaveAs FileName:=NomFichier, _
' FileFormat:=17, password:="", WriteResPassword:="", _
' ReadOnlyRecommended:=False, CreateBackup:=False
'Pointe sur la premiere cellule
.Range("A1").Select
.Visible = True
Call MsgBox("Cliquez sur OK pour libérer Excel de la mémoire une
fois que vous avez pris connaisance des informations dans Excel",
vbExclamation, App.Title)
'on quitte excel
.Application.Quit
End With
Set DocExcel = Nothing
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Elicend_News
Salut
j'ai eu le meme pb, et je crois que c'est uen variable que je n'avais pas définie. Il y avait aussi un composant dans mon prog VB qui incluait une page excel directement sur un userform, et ca n'a jamais voulu tourner ailleur que sur mon pc ou j'ai developpé le truc (XP)
elicend
"Louise Desbiens" a écrit dans le message de news:ceYIc.12798$
Bonjour à tous,
Voici mon problème.
Dans mon programme VB6 je fait un exportation vers Excel
Voici le code
Sub ExportationExel(LaForm As Form, LaGrille As Object, LeTitre As
String,
LeFichier As String) Dim DocExcel As Object Dim test As Boolean Dim NomFichier As String Dim x As Integer Dim LaLigne As Integer Dim LaCol As Integer
On Error GoTo err_ExportationExel Screen.MousePointer = vbHourglass
********** ERREUR ERREUR ERREUR ERREUR ERREUR ERREUR ERREUR ERREUR 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 (Erreur automation)
.Visible = False 'supprime l'affichage des messages d'erreurs ou de confirmation de suppression, ... .DisplayAlerts = False 'ajoute un nouveau classeur .Workbooks.Add 'selectionne la feuille du classeur .Sheets("Feuil2").Select 'on supprime cette feuille .ActiveWindow.SelectedSheets.Delete 'on fait pareil avec la feuille 3 .Sheets("Feuil3").Select .ActiveWindow.SelectedSheets.Delete 'on selectionne la feuille 1 (la seule qui reste) .Sheets("Feuil1").Select 'on change le nom de celle ci .Sheets("Feuil1").Name = NomFichier
'on change la largeur de la colonne .Columns("A:N").ColumnWidth = 30
'on met la date et l'heure '.Range("A1").Select
'une fusion de cellule .Range("A1:L1").Select test = ParametreExcel(DocExcel, "MS Sérif", TAILLEPOLICE14, False, False, 0, True) .ActiveCell.FormulaR1C1 = LeTitre '"Rapport d'analyse et
statistique
du rapport journalier"
'***************************************** '*** Entete des colonnes '***************************************** For x = 0 To LaGrille.Cols - 1 .Range(Chr(65 + x) & "3").Select
test = ParametreExcel(DocExcel, "MS Sérif", TAILLEPOLICE10, True, False, 0, True) ' If X <> 13 Then If LaGrille.ColWidth(x) <> 0 Then .ActiveCell.FormulaR1C1 = LaGrille.TextMatrix(0, x) End If ' End If Next
'***************************************** '*** Les cellules '***************************************** LaForm.ProgressBar.Max = LaGrille.Rows - 1 For LaLigne = 1 To LaGrille.Rows - 1 For LaCol = 1 To LaGrille.Cols .Range(Chr(64 + LaCol) & Trim(str(LaLigne + 3))).Select 'Les titre des colonnes ' test = ParametreExcel(DocExcel, "MS Sérif",
TAILLEPOLICE10,
False, False, 0, True) '.Selection.NumberFormat = "@" If LaGrille.ColWidth(LaCol - 1) <> 0 Then .ActiveCell.NumberFormat = "@" .ActiveCell.FormulaR1C1 > IIf(Len(LaGrille.TextMatrix(LaLigne, LaCol - 1)) = 0, " ", LaGrille.TextMatrix(LaLigne, LaCol - 1)) End If Next LaCol LaForm.ProgressBar.Value = LaLigne Next LaLigne
'on sauvegarde la feuille sous le nom contenu dans NomFichier '.ActiveWorkbook.SaveAs FileName:=NomFichier, _ ' FileFormat:, password:="", WriteResPassword:="", _ ' ReadOnlyRecommended:úlse, CreateBackup:úlse
'Pointe sur la premiere cellule .Range("A1").Select
.Visible = True Call MsgBox("Cliquez sur OK pour libérer Excel de la mémoire une fois que vous avez pris connaisance des informations dans Excel", vbExclamation, App.Title)
'on quitte excel .Application.Quit End With Set DocExcel = Nothing
If boolPersonnage Then AfficherPersonnage LaForm, "Arreter" End If Screen.MousePointer = vbDefault Exit Sub
err_ExportationExel: If Err = 429 Then Call MsgBox("Excel n'est pas installé", vbExclamation, App.Title) Resume Exit_ExportationExel End If
strTemp = "ExportationExel: " & "Module FonctionCourante" intRep = Message_Erreur(Err, Error$, strTemp) Resume Exit_ExportationExel Resume End Sub
Salut
j'ai eu le meme pb, et je crois que c'est uen variable que je n'avais pas
définie. Il y avait aussi un composant dans mon prog VB qui incluait une
page excel directement sur un userform, et ca n'a jamais voulu tourner
ailleur que sur mon pc ou j'ai developpé le truc (XP)
elicend
"Louise Desbiens" <louise_desbiens@sympatico.ca> a écrit dans le message de
news:ceYIc.12798$RD4.973757@news20.bellglobal.com...
Bonjour à tous,
Voici mon problème.
Dans mon programme VB6 je fait un exportation vers Excel
Voici le code
Sub ExportationExel(LaForm As Form, LaGrille As Object, LeTitre As
String,
LeFichier As String)
Dim DocExcel As Object
Dim test As Boolean
Dim NomFichier As String
Dim x As Integer
Dim LaLigne As Integer
Dim LaCol As Integer
On Error GoTo err_ExportationExel
Screen.MousePointer = vbHourglass
**********
ERREUR ERREUR ERREUR ERREUR ERREUR ERREUR ERREUR ERREUR
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 (Erreur automation)
.Visible = False
'supprime l'affichage des messages d'erreurs ou de confirmation de
suppression, ...
.DisplayAlerts = False
'ajoute un nouveau classeur
.Workbooks.Add
'selectionne la feuille du classeur
.Sheets("Feuil2").Select
'on supprime cette feuille
.ActiveWindow.SelectedSheets.Delete
'on fait pareil avec la feuille 3
.Sheets("Feuil3").Select
.ActiveWindow.SelectedSheets.Delete
'on selectionne la feuille 1 (la seule qui reste)
.Sheets("Feuil1").Select
'on change le nom de celle ci
.Sheets("Feuil1").Name = NomFichier
'on change la largeur de la colonne
.Columns("A:N").ColumnWidth = 30
'on met la date et l'heure
'.Range("A1").Select
'une fusion de cellule
.Range("A1:L1").Select
test = ParametreExcel(DocExcel, "MS Sérif", TAILLEPOLICE14, False,
False, 0, True)
.ActiveCell.FormulaR1C1 = LeTitre '"Rapport d'analyse et
statistique
du rapport journalier"
'*****************************************
'*** Entete des colonnes
'*****************************************
For x = 0 To LaGrille.Cols - 1
.Range(Chr(65 + x) & "3").Select
test = ParametreExcel(DocExcel, "MS Sérif", TAILLEPOLICE10,
True, False, 0, True)
' If X <> 13 Then
If LaGrille.ColWidth(x) <> 0 Then
.ActiveCell.FormulaR1C1 = LaGrille.TextMatrix(0, x)
End If
' End If
Next
'*****************************************
'*** Les cellules
'*****************************************
LaForm.ProgressBar.Max = LaGrille.Rows - 1
For LaLigne = 1 To LaGrille.Rows - 1
For LaCol = 1 To LaGrille.Cols
.Range(Chr(64 + LaCol) & Trim(str(LaLigne + 3))).Select
'Les titre des colonnes
' test = ParametreExcel(DocExcel, "MS Sérif",
TAILLEPOLICE10,
False, False, 0, True)
'.Selection.NumberFormat = "@"
If LaGrille.ColWidth(LaCol - 1) <> 0 Then
.ActiveCell.NumberFormat = "@"
.ActiveCell.FormulaR1C1 > IIf(Len(LaGrille.TextMatrix(LaLigne, LaCol - 1)) = 0, " ",
LaGrille.TextMatrix(LaLigne, LaCol - 1))
End If
Next LaCol
LaForm.ProgressBar.Value = LaLigne
Next LaLigne
'on sauvegarde la feuille sous le nom contenu dans NomFichier
'.ActiveWorkbook.SaveAs FileName:=NomFichier, _
' FileFormat:, password:="", WriteResPassword:="", _
' ReadOnlyRecommended:úlse, CreateBackup:úlse
'Pointe sur la premiere cellule
.Range("A1").Select
.Visible = True
Call MsgBox("Cliquez sur OK pour libérer Excel de la mémoire une
fois que vous avez pris connaisance des informations dans Excel",
vbExclamation, App.Title)
'on quitte excel
.Application.Quit
End With
Set DocExcel = Nothing
j'ai eu le meme pb, et je crois que c'est uen variable que je n'avais pas définie. Il y avait aussi un composant dans mon prog VB qui incluait une page excel directement sur un userform, et ca n'a jamais voulu tourner ailleur que sur mon pc ou j'ai developpé le truc (XP)
elicend
"Louise Desbiens" a écrit dans le message de news:ceYIc.12798$
Bonjour à tous,
Voici mon problème.
Dans mon programme VB6 je fait un exportation vers Excel
Voici le code
Sub ExportationExel(LaForm As Form, LaGrille As Object, LeTitre As
String,
LeFichier As String) Dim DocExcel As Object Dim test As Boolean Dim NomFichier As String Dim x As Integer Dim LaLigne As Integer Dim LaCol As Integer
On Error GoTo err_ExportationExel Screen.MousePointer = vbHourglass
********** ERREUR ERREUR ERREUR ERREUR ERREUR ERREUR ERREUR ERREUR 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 (Erreur automation)
.Visible = False 'supprime l'affichage des messages d'erreurs ou de confirmation de suppression, ... .DisplayAlerts = False 'ajoute un nouveau classeur .Workbooks.Add 'selectionne la feuille du classeur .Sheets("Feuil2").Select 'on supprime cette feuille .ActiveWindow.SelectedSheets.Delete 'on fait pareil avec la feuille 3 .Sheets("Feuil3").Select .ActiveWindow.SelectedSheets.Delete 'on selectionne la feuille 1 (la seule qui reste) .Sheets("Feuil1").Select 'on change le nom de celle ci .Sheets("Feuil1").Name = NomFichier
'on change la largeur de la colonne .Columns("A:N").ColumnWidth = 30
'on met la date et l'heure '.Range("A1").Select
'une fusion de cellule .Range("A1:L1").Select test = ParametreExcel(DocExcel, "MS Sérif", TAILLEPOLICE14, False, False, 0, True) .ActiveCell.FormulaR1C1 = LeTitre '"Rapport d'analyse et
statistique
du rapport journalier"
'***************************************** '*** Entete des colonnes '***************************************** For x = 0 To LaGrille.Cols - 1 .Range(Chr(65 + x) & "3").Select
test = ParametreExcel(DocExcel, "MS Sérif", TAILLEPOLICE10, True, False, 0, True) ' If X <> 13 Then If LaGrille.ColWidth(x) <> 0 Then .ActiveCell.FormulaR1C1 = LaGrille.TextMatrix(0, x) End If ' End If Next
'***************************************** '*** Les cellules '***************************************** LaForm.ProgressBar.Max = LaGrille.Rows - 1 For LaLigne = 1 To LaGrille.Rows - 1 For LaCol = 1 To LaGrille.Cols .Range(Chr(64 + LaCol) & Trim(str(LaLigne + 3))).Select 'Les titre des colonnes ' test = ParametreExcel(DocExcel, "MS Sérif",
TAILLEPOLICE10,
False, False, 0, True) '.Selection.NumberFormat = "@" If LaGrille.ColWidth(LaCol - 1) <> 0 Then .ActiveCell.NumberFormat = "@" .ActiveCell.FormulaR1C1 > IIf(Len(LaGrille.TextMatrix(LaLigne, LaCol - 1)) = 0, " ", LaGrille.TextMatrix(LaLigne, LaCol - 1)) End If Next LaCol LaForm.ProgressBar.Value = LaLigne Next LaLigne
'on sauvegarde la feuille sous le nom contenu dans NomFichier '.ActiveWorkbook.SaveAs FileName:=NomFichier, _ ' FileFormat:, password:="", WriteResPassword:="", _ ' ReadOnlyRecommended:úlse, CreateBackup:úlse
'Pointe sur la premiere cellule .Range("A1").Select
.Visible = True Call MsgBox("Cliquez sur OK pour libérer Excel de la mémoire une fois que vous avez pris connaisance des informations dans Excel", vbExclamation, App.Title)
'on quitte excel .Application.Quit End With Set DocExcel = Nothing