Bonjour à tous,
J'utilise Excel 2000 sous windows XP et j'ai un problème avec
l'instruction Workbooks.open, je lance le module suivant de "classeur
1" :
Public Sub OuvreSiPasOuvertDeals()
Dim chemin As String
' activer le fichier ==> sinon l'ouvrir
chemin = CheminDeals & NomDeals
If Not isOpen(chemin) Then Application.Workbooks.Open
Filename:=chemin
Workbooks(Dir$(chemin)).Activate
End Sub
Une fois sur deux le programme s'arrete après la ligne où se trouve
'Application.Workbooks.Open Filename:=chemin' en restant ouvert
bêtement sur le fameux classeur chemin ... Sans raison ... en oubliant
qu'il y encore du boulot à faire !
J'ai lu les posts précédents, certains semblent préconiser de bouger
'Application.EnableEvents' ... pas d'effet.
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
FxM
Bonsoir,
Comment cette macro sait-elle ce qu'est "chemin" donc ce qu'est "Chemindeals" et "Nomdeals" ?
if not ... jusqu'à :=chemin doivent se trouver sur une seule et même ligne.
As-tu essayé en utilisant la gestion d'erreur ? Public Sub OuvreSiPasOuvertDeals() Dim chemin As String ' activer le fichier ==> sinon l'ouvrir chemin = CheminDeals & NomDeals
on error resume next windows(nomdeals).activate if err > 0 then workbboks.open chemin err.clear on error goto 0 End sub
@+ FxM
Tixu Oty a écrit:
Bonjour à tous, J'utilise Excel 2000 sous windows XP et j'ai un problème avec l'instruction Workbooks.open, je lance le module suivant de "classeur 1" :
Public Sub OuvreSiPasOuvertDeals()
Dim chemin As String ' activer le fichier ==> sinon l'ouvrir chemin = CheminDeals & NomDeals
If Not isOpen(chemin) Then Application.Workbooks.Open Filename:=chemin
Workbooks(Dir$(chemin)).Activate End Sub
Une fois sur deux le programme s'arrete après la ligne où se trouve 'Application.Workbooks.Open Filename:=chemin' en restant ouvert bêtement sur le fameux classeur chemin ... Sans raison ... en oubliant qu'il y encore du boulot à faire !
J'ai lu les posts précédents, certains semblent préconiser de bouger 'Application.EnableEvents' ... pas d'effet.
Que se passe-t-il ? existe t-il un remède ?
Merci à tous.
Bonsoir,
Comment cette macro sait-elle ce qu'est "chemin" donc ce qu'est
"Chemindeals" et "Nomdeals" ?
if not ... jusqu'à :=chemin doivent se trouver sur une seule et même
ligne.
As-tu essayé en utilisant la gestion d'erreur ?
Public Sub OuvreSiPasOuvertDeals()
Dim chemin As String
' activer le fichier ==> sinon l'ouvrir
chemin = CheminDeals & NomDeals
on error resume next
windows(nomdeals).activate
if err > 0 then workbboks.open chemin
err.clear
on error goto 0
End sub
@+
FxM
Tixu Oty a écrit:
Bonjour à tous,
J'utilise Excel 2000 sous windows XP et j'ai un problème avec
l'instruction Workbooks.open, je lance le module suivant de "classeur
1" :
Public Sub OuvreSiPasOuvertDeals()
Dim chemin As String
' activer le fichier ==> sinon l'ouvrir
chemin = CheminDeals & NomDeals
If Not isOpen(chemin) Then Application.Workbooks.Open
Filename:=chemin
Workbooks(Dir$(chemin)).Activate
End Sub
Une fois sur deux le programme s'arrete après la ligne où se trouve
'Application.Workbooks.Open Filename:=chemin' en restant ouvert
bêtement sur le fameux classeur chemin ... Sans raison ... en oubliant
qu'il y encore du boulot à faire !
J'ai lu les posts précédents, certains semblent préconiser de bouger
'Application.EnableEvents' ... pas d'effet.
Comment cette macro sait-elle ce qu'est "chemin" donc ce qu'est "Chemindeals" et "Nomdeals" ?
if not ... jusqu'à :=chemin doivent se trouver sur une seule et même ligne.
As-tu essayé en utilisant la gestion d'erreur ? Public Sub OuvreSiPasOuvertDeals() Dim chemin As String ' activer le fichier ==> sinon l'ouvrir chemin = CheminDeals & NomDeals
on error resume next windows(nomdeals).activate if err > 0 then workbboks.open chemin err.clear on error goto 0 End sub
@+ FxM
Tixu Oty a écrit:
Bonjour à tous, J'utilise Excel 2000 sous windows XP et j'ai un problème avec l'instruction Workbooks.open, je lance le module suivant de "classeur 1" :
Public Sub OuvreSiPasOuvertDeals()
Dim chemin As String ' activer le fichier ==> sinon l'ouvrir chemin = CheminDeals & NomDeals
If Not isOpen(chemin) Then Application.Workbooks.Open Filename:=chemin
Workbooks(Dir$(chemin)).Activate End Sub
Une fois sur deux le programme s'arrete après la ligne où se trouve 'Application.Workbooks.Open Filename:=chemin' en restant ouvert bêtement sur le fameux classeur chemin ... Sans raison ... en oubliant qu'il y encore du boulot à faire !
J'ai lu les posts précédents, certains semblent préconiser de bouger 'Application.EnableEvents' ... pas d'effet.
Que se passe-t-il ? existe t-il un remède ?
Merci à tous.
pubdespierre
Oupsss ... 'CheminDeals' et 'NomDeals' sont deux variables globales, correctement initialisées avant l'appel de la Sub. De plus, la function IsOpen est définie comme :
Function isOpen(CheminComplet$) As Boolean Dim Wbk As Workbook
On Error Resume Next Set Wbk = Workbooks(Dir$(CheminComplet))
isOpen = Err = 0 Err.Clear
End Function
Donc a priori elle inclut la gestion d'erreur et fonctionne correctement. J'ai l'impression que c'est le 'Application.Workbooks.open chemin' qui branche VBA sur le nouveau classeur qui ne contient pas de module, et du coup s'arrête de bosser, oubliant qu'il reste des trucs à faire ...
Strange ...
Oupsss ... 'CheminDeals' et 'NomDeals' sont deux variables globales,
correctement initialisées avant l'appel de la Sub. De plus, la
function IsOpen est définie comme :
Function isOpen(CheminComplet$) As Boolean
Dim Wbk As Workbook
On Error Resume Next
Set Wbk = Workbooks(Dir$(CheminComplet))
isOpen = Err = 0
Err.Clear
End Function
Donc a priori elle inclut la gestion d'erreur et fonctionne
correctement. J'ai l'impression que c'est le
'Application.Workbooks.open chemin' qui branche VBA sur le nouveau
classeur qui ne contient pas de module, et du coup s'arrête de bosser,
oubliant qu'il reste des trucs à faire ...
Oupsss ... 'CheminDeals' et 'NomDeals' sont deux variables globales, correctement initialisées avant l'appel de la Sub. De plus, la function IsOpen est définie comme :
Function isOpen(CheminComplet$) As Boolean Dim Wbk As Workbook
On Error Resume Next Set Wbk = Workbooks(Dir$(CheminComplet))
isOpen = Err = 0 Err.Clear
End Function
Donc a priori elle inclut la gestion d'erreur et fonctionne correctement. J'ai l'impression que c'est le 'Application.Workbooks.open chemin' qui branche VBA sur le nouveau classeur qui ne contient pas de module, et du coup s'arrête de bosser, oubliant qu'il reste des trucs à faire ...
Strange ...
FxM
Bonsoir,
Testé sous Excel 2000 - Win98, je n'aperçois aucun problème particulier. Le fichier chemin s'ouvre bien, fait ses macros auto_open. Je le referme ensuite manuellement. Des ouvertures successives n'ont pas montré de pb. Effectue la macrote en pas à pas (F8) pour voir. Là, je sèche !
@+ FxM
Tixu Oty a écrit:
Oupsss ... 'CheminDeals' et 'NomDeals' sont deux variables globales, correctement initialisées avant l'appel de la Sub. De plus, la function IsOpen est définie comme :
Function isOpen(CheminComplet$) As Boolean Dim Wbk As Workbook
On Error Resume Next Set Wbk = Workbooks(Dir$(CheminComplet))
isOpen = Err = 0 Err.Clear
End Function
Donc a priori elle inclut la gestion d'erreur et fonctionne correctement. J'ai l'impression que c'est le 'Application.Workbooks.open chemin' qui branche VBA sur le nouveau classeur qui ne contient pas de module, et du coup s'arrête de bosser, oubliant qu'il reste des trucs à faire ...
Strange ...
Bonsoir,
Testé sous Excel 2000 - Win98, je n'aperçois aucun problème
particulier. Le fichier chemin s'ouvre bien, fait ses macros
auto_open. Je le referme ensuite manuellement.
Des ouvertures successives n'ont pas montré de pb.
Effectue la macrote en pas à pas (F8) pour voir. Là, je sèche !
@+
FxM
Tixu Oty a écrit:
Oupsss ... 'CheminDeals' et 'NomDeals' sont deux variables globales,
correctement initialisées avant l'appel de la Sub. De plus, la
function IsOpen est définie comme :
Function isOpen(CheminComplet$) As Boolean
Dim Wbk As Workbook
On Error Resume Next
Set Wbk = Workbooks(Dir$(CheminComplet))
isOpen = Err = 0
Err.Clear
End Function
Donc a priori elle inclut la gestion d'erreur et fonctionne
correctement. J'ai l'impression que c'est le
'Application.Workbooks.open chemin' qui branche VBA sur le nouveau
classeur qui ne contient pas de module, et du coup s'arrête de bosser,
oubliant qu'il reste des trucs à faire ...
Testé sous Excel 2000 - Win98, je n'aperçois aucun problème particulier. Le fichier chemin s'ouvre bien, fait ses macros auto_open. Je le referme ensuite manuellement. Des ouvertures successives n'ont pas montré de pb. Effectue la macrote en pas à pas (F8) pour voir. Là, je sèche !
@+ FxM
Tixu Oty a écrit:
Oupsss ... 'CheminDeals' et 'NomDeals' sont deux variables globales, correctement initialisées avant l'appel de la Sub. De plus, la function IsOpen est définie comme :
Function isOpen(CheminComplet$) As Boolean Dim Wbk As Workbook
On Error Resume Next Set Wbk = Workbooks(Dir$(CheminComplet))
isOpen = Err = 0 Err.Clear
End Function
Donc a priori elle inclut la gestion d'erreur et fonctionne correctement. J'ai l'impression que c'est le 'Application.Workbooks.open chemin' qui branche VBA sur le nouveau classeur qui ne contient pas de module, et du coup s'arrête de bosser, oubliant qu'il reste des trucs à faire ...