Ouverture d'un classeur ne se faisant pas

mick9111 Messages postés 9 Date d'inscription   Statut Membre Dernière intervention   -  
f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour à tous,

sous VBA d'Excel97 j'ai:

- écrit une macro (peu importe qu'elle soit dans Workbook_Open, ou pas (cela ne change rien) que j'ai nommée "Mise à jour.xls"


Sub Workbook_Open()
Workbooks.Open FileName:=ThisWorkbook.Path & "\test.xls"
Workbooks("test.xls").Close False
End Sub

- cette macro en appelle une autre "test.xls"

Sub workbook_open() 'dans le thisworkbook évidemment
Call ouverture
End Sub
--------------
Sub ouverture()
Dim i As Integer
Workbooks.Open FileName:=ThisWorkbook.Path & "\données.xls", ReadOnly:=True
MSG "bonjour"
For i = 1 To 10000 'temporisation
Next i
Workbooks("données.xls").Close False
End Sub

Cette dernière doit ouvrir un classeur"données.xls" qui ne s'ouvre pas provocant une erreur
bien évidemment quand je veux le fermer

Si la macro "ouverture" est dans un module,"données.xls" ne s'ouvre pas non plus
Par contre, si je lance directement "test .xls" aucun problème, "données.xls" s'ouvre bien.

"données.xls" est un fichier vide aucune macro et rien sur "Feuil1"

J'aimerai comprendre le pourquoi du comment.... Merci par avance

2 réponses

f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 713
 
Bonjour,
Votre code marche en Excel2007, mais doit aussi marcher en Excel97(!!!!!!!)…….Normalement les evenements WorkBook/WorkSheets sont Private Sub
mais ca marche aussi sans Private
'classeur mise a jour ThisWorkbook
Private Sub Workbook_open()
    Workbooks.Open Filename:=ThisWorkbook.Path & "\test.xls"
    Workbooks("test.xls").Close False
End Sub

'classeur Test dans ThisWorkbook
Private Sub Workbook_open() 'dans le thisworkbook ?videmment
    Call ouverture
End Sub

'classeur Test dans ThisWorkbook ou un module
Sub ouverture()
    Dim i As Integer
    Workbooks.Open Filename:=ThisWorkbook.Path & "\donn?es.xls", ReadOnly:=True
    MsgBox "bonjour"
    For i = 1 To 10000 'temporisation
    Next i
    Workbooks("donn?es.xls").Close False
End Sub
0
mick9111 Messages postés 9 Date d'inscription   Statut Membre Dernière intervention  
 
Merci beaucoup d'avoir répondu, et aussi d'avoir mis mes lignes de code dans une fenêtre plus adéquat (chose que je ne sais pas faire).

Quoi qu'il en soit pour les Private ou pas, cela ne fonctionne toujours pas. Le fichier "données" ne s'ouvre pas et donc bien évidemment une erreur à la ligne pour le fermer.
0
f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 713
 
Bonjour,

Je n'ai pas Excel 97, donc …..
Pouvez-vous mettre votre fichier a dispo: https://mon-partage.fr/
0
mick9111 Messages postés 9 Date d'inscription   Statut Membre Dernière intervention   > f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention  
 
voudriez vous m'expliquer? vous envoyer excel 97 ? ou simplement les fichiers qui me posent problème
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752 > mick9111 Messages postés 9 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour,

Il parle des fichiers qui vous posent problème.

Et pour ce qui est de mettre le code en couleur sur le site... les explications sont là : https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
0
f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 713
 
Salut Jordane45,

Ca neige??
0