Ouverture d'un classeur ne se faisant pas

mick9111 Messages postés 9 Statut Membre -  
f894009 Messages postés 17417 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

  1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    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
  2. mick9111 Messages postés 9 Statut Membre
     
    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
    1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
       
      Bonjour,

      Je n'ai pas Excel 97, donc …..
      Pouvez-vous mettre votre fichier a dispo: https://mon-partage.fr/
      0
      1. mick9111 Messages postés 9 Statut Membre > f894009 Messages postés 17417 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
      2. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830 > mick9111 Messages postés 9 Statut Membre
         
        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
    2. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
       
      Salut Jordane45,

      Ca neige??
      0