Feuille invsible si appelé simplement du module, visible si appelé dupuis Workbook_Open() ?
Bonjour à tous et merci de votre temps et de votre aide.
J'ai un truc très étrange avec l'un de mes classeurs.
Ce classeur prend des données dans 2 autres classeurs et les recopie dans plusieurs de ses pages.
Une fois cela fait, il se sauvegarde dans un répertoire précis.
Ce classeur a 4 feuille visibles et environ une dizaine invisibles.
Le code qui fait la mise à jour est la sauvegarde se trouve dans le module mdlImportation.
Si je l'exécute directement dans ce module, tout va bien, mon classeur se met à jour et se sauvegarde avec seulement ses 4 feuilles déjà visibles visibles. La dizaine d'autres restent cachées.
Si je l'exécute depuis Workbook_Open(), lors de la sauvegarde une 5 feuilles devient visible (en fait la dernière que j'ai mise à jour).
Ici le code de Workbook_Open :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| Private Sub Workbook_Open()
If mdlVariableEnvironnement.EstAutodemarrant Then
Call mdlImportation.ImporterDonnees 'ici appelle le code à exécuter à l'ouverture
Application.DisplayAlerts = False
Me.Close
Application.DisplayAlerts = True
If Application.Workbooks.Count = 1 Then
Application.Quit
End If
End If
End Sub |
Ici l'instruction de sauvegarde :
Code:
Call WB_A.SaveAs(InfoFichier_Statistique.Repertoire_Nom_Extention, xlOpenXMLTemplateMacroEnabled)
où WS_A est le classeur en cours.
Si je demande si la 5ième feuille est visible au moment de la sauvegarde (wsFormule_0.Visible), Excel répond 0 soit cachée mais dans le fichier créé, elle est visible.
Et à aucun moment dans le code je ne rend cette feuille visible.
Code:
If mdlVariableEnvironnement.EstAutodemarrant Then
n'a pas d'importance, j'ai neutralisé le test et obtenue la 5iéme feuille.
Quelqu'un a-t'il déjà eu un problème semblable ? A-t'il une solution ?
A+