Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2019 Pb de retour au classeur de la macro

Spitnolan08

XLDnaute Barbatruc
Bonjour,
Il n'existe plus sous Excel (sauf erreur) la possibilité de créer un environnement de travail regroupant plusieurs classeurs.
Aussi pour se placer dans cette configuration (travail VBA en simultanée sur plusieurs classeurs), il faut prévoir dans Workbook_Open(), l'ouverture des fichiers de l'environnement.
Jusque là pas de problème.
Par contre lorsque je veux revenir au classeur appelant, l'instruction n'est pas prise en compte.

Ci-dessous une partie du code expliquant le fonctionnement.
Que j'ouvre un, cinq ou plus de fichiers par cette macro, le résultat est le même : l'affichage reste bloqué sur WbOpé !
J'ai testé la configuration dans tous les sens que j'ai pu imaginer et ça ne fonctionne pas, sauf en pas à pas.

J'ai aussi essayé de passer les variables au classeur WbOpé (puisque c'est le dernier ouvert à priori) pour qu'à son ouverture il lance l'affichage de MySheet. Mais ça ne peut pas fonctionner car le passage de variable ne peut se faire (sauf erreur) que dans un module, or pour ça il faut que le classeur soit déjà ouvert...

Une idée du pourquoi ça ne fonctionne pas et surtout une idée pour que ça fonctionne ?

VB:
Private Sub Workbook_Open()
'***Affichage aléatoire de la page d'accueil à partir de l'heure actuelle (favorise Init2)
Dim MySheet As String '***Pour l'exemple car dans mon cas elle est déclarée en variable Public
Dim Ref As Integer, Sauf As Integer
**********
Ref = Round(Right(Now(), 2) / 5, 0)
Select Case Ref
Case 0 To 1
    Sheets("Init1").Select
Case 2
    Sheets("Init2").Select
Case Else
    Sheets("Init3").Select
End Select

'***Stockage du nom de la feuille pour affichage en fin de procédure
MySheet = ActiveSheet.Name
'****
'[.................]'
'****
Application.ScreenUpdating = False

'*************************************************************************
'***Définition des chemins d'accès et des noms de fichiers utilisés dans l'application
Chemin0 = "P:\PROGEST new\"
Chemin1BD = "PROGEST BD\Version xlsx-xlsm\"       

'***Dénomination Abrégée des fichiers et Ouverture des fichiers nécessaires au fonctionnement
Set WbMacro = ThisWorkbook
Set WbOpé = Application.Workbooks.Open(Chemin0 & Chemin1BD & "BDopé.xlsm")
Set WbM = Application.Workbooks.Open(Chemin0 & Chemin1BD & "BDmarchés.xlsx")
Set WbEntrep = Application.Workbooks.Open(Chemin0 & Chemin1BD & "BDEntrep.xlsm")

'****
'[.................]'
'****

Application.ScreenUpdating = True
ThisWorkbook.Sheets(MySheet).Activate
End Sub
 

Spitnolan08

XLDnaute Barbatruc
Bonjour,
Merci.
Je voulais tester ce matin ta proposition mais bizarement, mon appli fonctionne correctement ce matin....
alors que depuis des jours, tous mes essais étaient infructueux.
Peut-être un problème de surcharge du matériel comme le processeur ....????
Si mon problème revient je testerai ta proposition et/ou remonterai ce fil pour avoir d'autres suggestions.
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…