problème d'ouverture fichier et d'affichage des feuilles

chti59xcel

XLDnaute Nouveau
Bonjour à tous,

j'ai un classeur Excel que j'utilise pour la compta du travail. j'avais masqué certaines feuilles par macro et il y a eu un petit bug au moment d'afficher une feuille suite au mot de passe.

j'ai tenté d'enlever les macros et les modules pour retrouver l'affichage de toutes mes feuilles, mais cela ne fonctionne toujours pas.

Que puis je faire ??

je vous joins mes macros pour voir ce qu'il peut être fait ? Lorsque j'essaye d'ouvrir mon fichier qui s'appelle normalement "Budget_Prévisionnel_PôleEducatif2011", il s'ouvre comme classeur1, alors que dans le VBA il porte la bonne appellation, je n'y comprend rien ?

Feuille sommaire

Private Sub Worksheet_Activate()
Sheets("Privé").Visible = xlSheetVeryHidden
End Sub
Private Sub ComboBox1_Change()
NomFeuille = ComboBox1.Value
Worksheets(NomFeuille).Select
End Sub
Private Sub ComboBox2_Change()
NomFeuille = ComboBox2.Value
Worksheets(NomFeuille).Select
End Sub

Feuille woorbook

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Sheets("Privé").Visible = xlSheetVeryHidden
ActiveWorkbook.Save
End Sub
Private Sub Workbook_Open()
End Sub
Private Sub Workbook_SheetActivate(ByVal sh As Object)
Application.EnableCancelKey = xlDisabled
If sh.Name = "Budget Général Total" Then
ActiveWindow.Visible = False
Dim MotDepasse As String
MotDepasse = InputBox("Entrez votre mot de passe.", _
"Mot de passe requis")
If Not MotDepasse = "DG" Then
MsgBox "Le mot de passe saisi est incorrect !!", _
vbOKOnly + vbInformation, "Mot de passe incorrect"
ThisWorkbook.Sheets("Sommaire").Activate
End If
Windows("Budget_Prévisionnel_PôleEducatif2011").Visible = True
End If
End Sub

Module programme

Sub DemandePasswordFonctionnement()
i = 1
For NbEssai = 1 To 3 Step 1
DlgPassword.Show
Password = DlgPassword("MotDePasse").Value
If Password = "callas" Then
DlgPassword("MotDePasse").Value = ""
Sheets("Privé").Visible = xlSheetVisible
Sheets("Privé").Activate
Range("A1").Select
' MsgBox (" Le mot de passe est correct")
Exit Sub
Else
MsgBox ("Vous tentez une intrusion répréhensible (" & i & "/3) ...")
i = i + 1
DlgPassword("MotDePasse").Value = ""
End If
Next NbEssai
DlgPassword("MotDePasse").Value = ""
End Sub
Sub DemandePasswordInvestissement()
i = 1
For NbEssai = 1 To 3 Step 1
DlgPassword.Show
Password = DlgPassword("MotDePasse").Value
If Password = "callas" Then
DlgPassword("MotDePasse").Value = ""
Sheets("Privé").Visible = xlSheetVisible
Sheets("Privé").Activate
Range("A67").Select
' MsgBox (" Le mot de passe est correct")
Exit Sub
Else
MsgBox ("Vous tentez une intrusion répréhensible (" & i & "/3) ...")
i = i + 1
DlgPassword("MotDePasse").Value = ""
End If
Next NbEssai
DlgPassword("MotDePasse").Value = ""
End Sub
 

TempusFugit

XLDnaute Impliqué
Re : problème d'ouverture fichier et d'affichage des feuilles

Donc si tu as fait le test, tu t'es apercu que la macro voirfeuilles fonctionne.

Dans un premier temps, la macro MacroTest crée un nouveau classeur et masque les feuilles sauf une
ensuite la macro lances la macro voirfeuilles
et la tu vois bien que toutes les feuilles sont de nouveau visibles.

Donc la macro voirfeuilles (et juste celle-ci) lancé dans ton classeur qui te pose problème devrait faire la même chose.
rendre visible toutes les feuilles de ton classeur.

(As-tu réussi à mettre en commentaire tout ton code VBA sauf la macro: voirfeuilles ?)
 

chti59xcel

XLDnaute Nouveau
Re : problème d'ouverture fichier et d'affichage des feuilles

Bon, ce matin j'ai enlevé toutes les macros qui trainaient et les modules. il ne reste qu'un seul module :

Sub voirfeuilles()
Dim f As Worksheet
On Error Resume Next
For Each f In Worksheets
f.Visible = xlSheetVisible
Next f
End Sub

quand je fais exécuter directement dans le VBA, il ne se passe rien.

dans le menu outil, l'option est inutilisable ainsi que la fonction protection ??

qui aurait une solution pour débloquer toutes mes feuilles ??

merci
 

TempusFugit

XLDnaute Impliqué
Re : problème d'ouverture fichier et d'affichage des feuilles

Bonjour


Avant de lancer la macro, combien de feuilles sont visibles dans ton classeur?
Et combien le sont aprés avoir lancé la macro ?

Je viens de relire ton premier message

Essaie de lancer cette macro
Code:
Sub afficher()
Windows("Budget_Prévisionnel_PôleEducatif2011").Visible = True
End Sub
En partant du principe que Budget_Prévisionnel_PôleEducatif2011 est le nom de ton classeur.

puis ensuite relance la macro voirfeuilles

Que se passe t-il dans ce cas ?
 
Dernière édition:

TempusFugit

XLDnaute Impliqué
Re : problème d'ouverture fichier et d'affichage des feuilles

Tu es bien sur que que : Budget_Prévisionnel_PôleEducatif2011
est bien le nom de ton classeur ?
(comme je te l'ai demandé dans mon précédent message ?)

Et c'est Visible=True pas V isible=true
(voir la macro dans le message précédent)

Pour savoir le nom exact
Lances la macro ci-dessou
Code:
Sub test()
MsgBox Windows(ThisWorkbook.Name).Caption
End Sub

Qu'affiche la MsgBox ?
 
Dernière édition:

chti59xcel

XLDnaute Nouveau
Re : problème d'ouverture fichier et d'affichage des feuilles

En fait ce qui se passe c'est que mon classeur porte bien ce nom là, mais quand j'essaye de l'ouvrir il ne se passe rien et dans la barre de menus en haut à gauche il m'affiche l'extension Microsoft Excel, mais sans le nom de la feuille. il n'y a que dans le vba ou je retrouve l'extension de mon classeur. De plus quand j'essaye d'ouvrir mon classeur, il est protégé par mot de passe qui a été installé par le menu outil option sécurité
 

TempusFugit

XLDnaute Impliqué
Re : problème d'ouverture fichier et d'affichage des feuilles

Tu as bien accès au projet VBA de ton classeur
et c'est bien dans le projet de ce classeur, que tu as essayé les macros de mes précédents messages ?

Si oui, tu devrais au moins voir la fenetre de ton classeur et voir les feuilles de celui-ci
par contre, les feuilles restent protégées.
 

TempusFugit

XLDnaute Impliqué
Re : problème d'ouverture fichier et d'affichage des feuilles

Je viens de tester ceci
dans un nouveau classeur (en ayant aucun autre classeur d'ouvert)
Et effectivement quand j'ouvre ce nouveau classeur
rien n'apparait mais quand je ferme excel, la fenetre du classeur devient visible
Code:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Windows(ThisWorkbook.Name).Visible = True
End Sub

Private Sub Workbook_Open()
Windows(ThisWorkbook.Name).Visible = False
End Sub

Donc essaie de mettre ce code ci-dessous dans le projet VBA de ton classeur qui te pose problème
Code:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Windows(ThisWorkbook.Name).Visible = True
End Sub

(a mettre dans ThisWorkBook - NE PAS METTRE la macro WorkBook_Open )
Enregistres le puis ferme Excel
Ouvres de nouveau ton classeur

Est-ce que la fenetre de celui-ci devient visible ?
 
Dernière édition:

chti59xcel

XLDnaute Nouveau
Re : problème d'ouverture fichier et d'affichage des feuilles

Alléluia !! toutes les feuilles sont redevenues visibles !!!!!!!!!!!!!!!!!!!!!!!!!!!! youpi

est ce que tu peux m'expliquer ce qui s'est passé pour que je me couche moins bête ce soir

un grand merci pour ta ténacité et ton aide, cordialement chti59xcel
 

TempusFugit

XLDnaute Impliqué
Re : problème d'ouverture fichier et d'affichage des feuilles

Il y a une différence entre masquer la fenetre d'un classeur
Windows("NOMCLASSEUR).Visible

et masquer les onglets d'un classeur
(voir la macro voirfeuilles)

Donc tu devrais mondifier ton code VBA en conséquence et ne pas utiliser
Windows("NOMCLASSEUR").Visible=False

Le titre de ta question m'a induit en erreur car tu parles d'affichage de feuille
et non pas d'affichage de fenetre.
 
Dernière édition:

chti59xcel

XLDnaute Nouveau
Re : problème d'ouverture fichier et d'affichage des feuilles

dernière question, comment dois je modifier cette macro pour que je puisse l'appeler par un mot de passe sans quelle soit visible dans les onglets

Private Sub Workbook_SheetActivate(ByVal sh As Object)
Application.EnableCancelKey = xlDisabled
If sh.Name = "Budget Général Total" Then
ActiveWindow.Visible = False
Dim MotDepasse As String
MotDepasse = InputBox("Entrez votre mot de passe.", _
"Mot de passe requis")
If Not MotDepasse = "DG" Then
MsgBox "Le mot de passe saisi est incorrect !!", _
vbOKOnly + vbInformation, "Mot de passe incorrect"
ThisWorkbook.Sheets("Sommaire").Activate
End If
Windows("Budget_Prévisionnel_PôleEducatif2011").Visible = True
End If
End Sub
 

Discussions similaires

Statistiques des forums

Discussions
314 647
Messages
2 111 533
Membres
111 193
dernier inscrit
Raf'