OVH Cloud OVH Cloud

Erreur Automation

5 réponses
Avatar
Xela
Bonjour,

J'ai un programme en VBA qui permet de récupérer tous les onglets de
différents fichiers Excel (2000) pour tous les mettres dans un seul et même
fichier Excel.

A partir de mon poste, je n'ai aucun souci. Par contre, sur d'autres postes,
il y a l'erreur suivante :
Erreur d'exécution '-2147417851 (80010105)'
Erreur Automation
Le serveur a généré un exception

Merci de votre aide

Alex

5 réponses

Avatar
michdenis
Bonjour Xela,

Il manque des informations à la formulation de ta question ....comme par exemple :

Est-ce que tout le monde utilise une même configuration matérielle ? Si non, Quelle version d'excel ou système
d'exploitation représente un problème ?

La publication du code peut être une bonne source d'information pour le répondeur.

Voici une adresse qui pourrait expliquer le type d'erreur que tu obtiens :

http://support.microsoft.com/kb/242375/fr



Salutations!





"Xela" a écrit dans le message de
news:
Bonjour,

J'ai un programme en VBA qui permet de récupérer tous les onglets de
différents fichiers Excel (2000) pour tous les mettres dans un seul et même
fichier Excel.

A partir de mon poste, je n'ai aucun souci. Par contre, sur d'autres postes,
il y a l'erreur suivante :
Erreur d'exécution '-2147417851 (80010105)'
Erreur Automation
Le serveur a généré un exception

Merci de votre aide

Alex
Avatar
Xela
Bonjour MichDenis,

Tous les postes sont en Windows 2000 avec Office 2000 Professionnal.
La seule petite différence, c'est que je n'ai pas de service release.
Certains postes ont la version 1 et d'autres la version 3.

Voici le code (en gros) :
Public Sub Recup_Suspens_Banques()
Dim Nom_Class As String
Dim Nom_Onglet As String
Dim AppExcel As Object
Dim ClasseurSource As Workbook
Dim ClasseurNew As Workbook
Dim Onglet As Object

'Bloque affichage écran
Set AppExcel = CreateObject("Excel.Application")
AppExcel.DisplayAlerts = False
AppExcel.ScreenUpdating = False

Set ClasseurNew = AppExcel.Workbooks.Add
ClasseurNew.Sheets(1).Name = "Tempo"

' Boucle pour recuperation des classeurs de l'OPCVM
For I = 1 To UBound(TabNomRep)

' Ouvre le classeur
AppExcel.Workbooks.Open FileName:=Nom_Class, UpdateLinks:úlse,
ReadOnly:=True

Set ClasseurSource = AppExcel.ActiveWorkbook
For Each Onglet In ClasseurSource.Worksheets
Onglet.Select
Nom_Onglet = Onglet.Name
If Len(Nom_Onglet) = 3 Then
ClasseurSource.Activate
Onglet.Copy before:=ClasseurNew.Sheets(1)
ClasseurSource.Activate
End If
Next Onglet
ClasseurSource.Close SaveChanges:úlse
Set ClasseurSource = Nothing

Next I

ClasseurNew.SaveAs StFichFinal
ClasseurNew.Close SaveChanges:=True
Set ClasseurNew = Nothing

AppExcel.Quit
Set AppExcel = Nothing

End Sub

En tout cas, merci de ton aide.

@+

Xela
"michdenis" wrote:

Bonjour Xela,

Il manque des informations à la formulation de ta question ....comme par exemple :

Est-ce que tout le monde utilise une même configuration matérielle ? Si non, Quelle version d'excel ou système
d'exploitation représente un problème ?

La publication du code peut être une bonne source d'information pour le répondeur.

Voici une adresse qui pourrait expliquer le type d'erreur que tu obtiens :

http://support.microsoft.com/kb/242375/fr



Salutations!





"Xela" a écrit dans le message de
news:
Bonjour,

J'ai un programme en VBA qui permet de récupérer tous les onglets de
différents fichiers Excel (2000) pour tous les mettres dans un seul et même
fichier Excel.

A partir de mon poste, je n'ai aucun souci. Par contre, sur d'autres postes,
il y a l'erreur suivante :
Erreur d'exécution '-2147417851 (80010105)'
Erreur Automation
Le serveur a généré un exception

Merci de votre aide

Alex





Avatar
michdenis
Bonjour Xela,

Tu as essayé d'exécuter Pas-à-Pas (à l'aide de la touche F8) ta macro sur un poste où elle se plante ...Il y a des
grosses chances que tu puisses identifier la ligne de code problème ! Il n'est pas facile de tenter de reproduire ce
type d'erreur d'autant plus que je ne possède pas cette configuration matérielle.

Pour ton test, modifie ces 2 lignes de code :

AppExcel.DisplayAlerts = true
AppExcel.ScreenUpdating = true



Salutations!


"Xela" a écrit dans le message de
news:
Bonjour MichDenis,

Tous les postes sont en Windows 2000 avec Office 2000 Professionnal.
La seule petite différence, c'est que je n'ai pas de service release.
Certains postes ont la version 1 et d'autres la version 3.

Voici le code (en gros) :
Public Sub Recup_Suspens_Banques()
Dim Nom_Class As String
Dim Nom_Onglet As String
Dim AppExcel As Object
Dim ClasseurSource As Workbook
Dim ClasseurNew As Workbook
Dim Onglet As Object

'Bloque affichage écran
Set AppExcel = CreateObject("Excel.Application")
AppExcel.DisplayAlerts = False
AppExcel.ScreenUpdating = False

Set ClasseurNew = AppExcel.Workbooks.Add
ClasseurNew.Sheets(1).Name = "Tempo"

' Boucle pour recuperation des classeurs de l'OPCVM
For I = 1 To UBound(TabNomRep)

' Ouvre le classeur
AppExcel.Workbooks.Open FileName:=Nom_Class, UpdateLinks:úlse,
ReadOnly:=True

Set ClasseurSource = AppExcel.ActiveWorkbook
For Each Onglet In ClasseurSource.Worksheets
Onglet.Select
Nom_Onglet = Onglet.Name
If Len(Nom_Onglet) = 3 Then
ClasseurSource.Activate
Onglet.Copy before:=ClasseurNew.Sheets(1)
ClasseurSource.Activate
End If
Next Onglet
ClasseurSource.Close SaveChanges:úlse
Set ClasseurSource = Nothing

Next I

ClasseurNew.SaveAs StFichFinal
ClasseurNew.Close SaveChanges:=True
Set ClasseurNew = Nothing

AppExcel.Quit
Set AppExcel = Nothing

End Sub

En tout cas, merci de ton aide.

@+

Xela
"michdenis" wrote:

Bonjour Xela,

Il manque des informations à la formulation de ta question ....comme par exemple :

Est-ce que tout le monde utilise une même configuration matérielle ? Si non, Quelle version d'excel ou système
d'exploitation représente un problème ?

La publication du code peut être une bonne source d'information pour le répondeur.

Voici une adresse qui pourrait expliquer le type d'erreur que tu obtiens :

http://support.microsoft.com/kb/242375/fr



Salutations!





"Xela" a écrit dans le message de
news:
Bonjour,

J'ai un programme en VBA qui permet de récupérer tous les onglets de
différents fichiers Excel (2000) pour tous les mettres dans un seul et même
fichier Excel.

A partir de mon poste, je n'ai aucun souci. Par contre, sur d'autres postes,
il y a l'erreur suivante :
Erreur d'exécution '-2147417851 (80010105)'
Erreur Automation
Le serveur a généré un exception

Merci de votre aide

Alex





Avatar
Xela
Re-bonjour,

Le problème c'est que ça plante sur la ligne "ClasseurNew.Close
SaveChanges:=True" et que je ne vois pas trop comment intervenir pour ne plus
avoir l'erreur.... Aurais-tu d'autres suggestions ???

Merci

Alex

"michdenis" wrote:

Bonjour Xela,

Tu as essayé d'exécuter Pas-à-Pas (à l'aide de la touche F8) ta macro sur un poste où elle se plante ...Il y a des
grosses chances que tu puisses identifier la ligne de code problème ! Il n'est pas facile de tenter de reproduire ce
type d'erreur d'autant plus que je ne possède pas cette configuration matérielle.

Pour ton test, modifie ces 2 lignes de code :

AppExcel.DisplayAlerts = true
AppExcel.ScreenUpdating = true



Salutations!


"Xela" a écrit dans le message de
news:
Bonjour MichDenis,

Tous les postes sont en Windows 2000 avec Office 2000 Professionnal.
La seule petite différence, c'est que je n'ai pas de service release.
Certains postes ont la version 1 et d'autres la version 3.

Voici le code (en gros) :
Public Sub Recup_Suspens_Banques()
Dim Nom_Class As String
Dim Nom_Onglet As String
Dim AppExcel As Object
Dim ClasseurSource As Workbook
Dim ClasseurNew As Workbook
Dim Onglet As Object

'Bloque affichage écran
Set AppExcel = CreateObject("Excel.Application")
AppExcel.DisplayAlerts = False
AppExcel.ScreenUpdating = False

Set ClasseurNew = AppExcel.Workbooks.Add
ClasseurNew.Sheets(1).Name = "Tempo"

' Boucle pour recuperation des classeurs de l'OPCVM
For I = 1 To UBound(TabNomRep)

' Ouvre le classeur
AppExcel.Workbooks.Open FileName:=Nom_Class, UpdateLinks:úlse,
ReadOnly:=True

Set ClasseurSource = AppExcel.ActiveWorkbook
For Each Onglet In ClasseurSource.Worksheets
Onglet.Select
Nom_Onglet = Onglet.Name
If Len(Nom_Onglet) = 3 Then
ClasseurSource.Activate
Onglet.Copy before:=ClasseurNew.Sheets(1)
ClasseurSource.Activate
End If
Next Onglet
ClasseurSource.Close SaveChanges:úlse
Set ClasseurSource = Nothing

Next I

ClasseurNew.SaveAs StFichFinal
ClasseurNew.Close SaveChanges:=True
Set ClasseurNew = Nothing

AppExcel.Quit
Set AppExcel = Nothing

End Sub

En tout cas, merci de ton aide.

@+

Xela
"michdenis" wrote:

Bonjour Xela,

Il manque des informations à la formulation de ta question ....comme par exemple :

Est-ce que tout le monde utilise une même configuration matérielle ? Si non, Quelle version d'excel ou système
d'exploitation représente un problème ?

La publication du code peut être une bonne source d'information pour le répondeur.

Voici une adresse qui pourrait expliquer le type d'erreur que tu obtiens :

http://support.microsoft.com/kb/242375/fr



Salutations!





"Xela" a écrit dans le message de
news:
Bonjour,

J'ai un programme en VBA qui permet de récupérer tous les onglets de
différents fichiers Excel (2000) pour tous les mettres dans un seul et même
fichier Excel.

A partir de mon poste, je n'ai aucun souci. Par contre, sur d'autres postes,
il y a l'erreur suivante :
Erreur d'exécution '-2147417851 (80010105)'
Erreur Automation
Le serveur a généré un exception

Merci de votre aide

Alex










Avatar
michdenis
Bonjour Xela,

Si tu parles de ces 2 lignes de code :


ClasseurNew.SaveAs StFichFinal
ClasseurNew.Close SaveChanges:=True

Après la première ligne de code "ClasseurNew.SaveAs StFichFinal", ton classeur est déjà sauvegardé .... À quoi sert
l'autre ligne de code ? Tu peux remplacer la deuxième ligne de code par : "ClasseurNew.Close" pour fermer le classeur
tout simplement.

N'oublie pas, dans ta procédure initiale, la ligne de code "AppExcel.DisplayAlerts = False" permet d'écraser le fichier
existant si il existe et ce, sans aucun message d'avertissement.



Salutations!




"Xela" a écrit dans le message de
news:
Re-bonjour,

Le problème c'est que ça plante sur la ligne "ClasseurNew.Close
SaveChanges:=True" et que je ne vois pas trop comment intervenir pour ne plus
avoir l'erreur.... Aurais-tu d'autres suggestions ???

Merci

Alex

"michdenis" wrote:

Bonjour Xela,

Tu as essayé d'exécuter Pas-à-Pas (à l'aide de la touche F8) ta macro sur un poste où elle se plante ...Il y a des
grosses chances que tu puisses identifier la ligne de code problème ! Il n'est pas facile de tenter de reproduire ce
type d'erreur d'autant plus que je ne possède pas cette configuration matérielle.

Pour ton test, modifie ces 2 lignes de code :

AppExcel.DisplayAlerts = true
AppExcel.ScreenUpdating = true



Salutations!


"Xela" a écrit dans le message de
news:
Bonjour MichDenis,

Tous les postes sont en Windows 2000 avec Office 2000 Professionnal.
La seule petite différence, c'est que je n'ai pas de service release.
Certains postes ont la version 1 et d'autres la version 3.

Voici le code (en gros) :
Public Sub Recup_Suspens_Banques()
Dim Nom_Class As String
Dim Nom_Onglet As String
Dim AppExcel As Object
Dim ClasseurSource As Workbook
Dim ClasseurNew As Workbook
Dim Onglet As Object

'Bloque affichage écran
Set AppExcel = CreateObject("Excel.Application")
AppExcel.DisplayAlerts = False
AppExcel.ScreenUpdating = False

Set ClasseurNew = AppExcel.Workbooks.Add
ClasseurNew.Sheets(1).Name = "Tempo"

' Boucle pour recuperation des classeurs de l'OPCVM
For I = 1 To UBound(TabNomRep)

' Ouvre le classeur
AppExcel.Workbooks.Open FileName:=Nom_Class, UpdateLinks:úlse,
ReadOnly:=True

Set ClasseurSource = AppExcel.ActiveWorkbook
For Each Onglet In ClasseurSource.Worksheets
Onglet.Select
Nom_Onglet = Onglet.Name
If Len(Nom_Onglet) = 3 Then
ClasseurSource.Activate
Onglet.Copy before:=ClasseurNew.Sheets(1)
ClasseurSource.Activate
End If
Next Onglet
ClasseurSource.Close SaveChanges:úlse
Set ClasseurSource = Nothing

Next I

ClasseurNew.SaveAs StFichFinal
ClasseurNew.Close SaveChanges:=True
Set ClasseurNew = Nothing

AppExcel.Quit
Set AppExcel = Nothing

End Sub

En tout cas, merci de ton aide.

@+

Xela
"michdenis" wrote:

Bonjour Xela,

Il manque des informations à la formulation de ta question ....comme par exemple :

Est-ce que tout le monde utilise une même configuration matérielle ? Si non, Quelle version d'excel ou système
d'exploitation représente un problème ?

La publication du code peut être une bonne source d'information pour le répondeur.

Voici une adresse qui pourrait expliquer le type d'erreur que tu obtiens :

http://support.microsoft.com/kb/242375/fr



Salutations!





"Xela" a écrit dans le message de
news:
Bonjour,

J'ai un programme en VBA qui permet de récupérer tous les onglets de
différents fichiers Excel (2000) pour tous les mettres dans un seul et même
fichier Excel.

A partir de mon poste, je n'ai aucun souci. Par contre, sur d'autres postes,
il y a l'erreur suivante :
Erreur d'exécution '-2147417851 (80010105)'
Erreur Automation
Le serveur a généré un exception

Merci de votre aide

Alex