Mode pleine écran, consulter ses feuilles VBA

gopo

XLDnaute Junior
Bonjour le forum,

En cette belle journée j'ai décidé de modifié quelque chose dans l'un des mes tableaux car ca me casse la tête...

Voila j'ai mis du code :

Code:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.DisplayFullScreen = False
End Sub

Private Sub Workbook_Open()
 ActiveWindow.DisplayGridlines = False
    ActiveWindow.DisplayHeadings = False 'celulle
    Application.DisplayFullScreen = True 'fullscreen
    ActiveWindow.DisplayVerticalScrollBar = False 'asc Vert
    ActiveWindow.DisplayWorkbookTabs = False
End Sub

Seul probème, je n'ai plus mes onglets de feuille ! donc j'ai décidé de créer une liste déroulante qui lis les cellules ( Propriété : ListFilRange A1:A12) qui correspondent au nom de mes feuilles ( mois ) puis j'y est mis un code :

Code:
Private Sub ComboBox1_Change()
   onglet_choisi = ComboBox1.Value
   Worksheets(onglet_choisi).Activate
End Sub

Problème : aléatoirement un nom de feuille s'affiche dans la liste déroulante en premiere vu, puis l'on peut choisir celle qu'on veut, la ou ca bloque c'est quand Je suis sur la feuille février, je veux aller en feuille mars et quand dans la liste déroulante la feuille qui s'affiche en premiere vu dans la liste déroulante est mars, bah je ne peux pas aller en mars, je peux aller dans toutes les autres feuilles a part celle la.

En gros, il faudrait que dans ma liste déroulante aucune feuille s'affiche, qu'on puisse choisir puis aprés que ca redevienne vierge.

Il me faudrait une solution SVP !

Ci joint un exemple qui correspond a mon xls
 

job75

XLDnaute Barbatruc
Re : Mode pleine écran, consulter ses feuilles VBA

Bonjour gopo,

Essayez :

Code:
Private Sub Workbook_Deactivate()
Application.DisplayFullScreen = False
End Sub

Private Sub Workbook_Activate()
    ComboBox1.Value = "" [COLOR="Red"]'à enlever après la 1ère ouverture[/COLOR]
    ActiveWindow.DisplayGridlines = False
    ActiveWindow.DisplayHeadings = False 'celulle
    Application.DisplayFullScreen = True 'fullscreen
    ActiveWindow.DisplayVerticalScrollBar = False 'asc Vert
    ActiveWindow.DisplayWorkbookTabs = False
End Sub

Code:
Private Sub ComboBox1_Change()
   onglet_choisi = ComboBox1.Value
   On Error Resume Next 
   Worksheets(onglet_choisi).Activate
   Application.EnableEvents = False
   ComboBox1.Value = ""
   Application.EnableEvents = True
End Sub

J'utilise les évènements Activate et Deactivate qui paraissent plus utiles, mais vous pouvez garder les anciens...

A+
 
Dernière édition:

job75

XLDnaute Barbatruc
Re : Mode pleine écran, consulter ses feuilles VBA

Re,

Je l'ai mise au cas d'une valeur dans la ComboBox au départ, mais ensuite, la valeur est toujours effacée. Je ne vois pas pourquoi ça bug.

Autre solution à tester, qui a l'avantage de laisser la valeur de la ComboBox, mais active l'onglet correspondant :

Code:
Private Sub Workbook_Deactivate()
Application.DisplayFullScreen = False
End Sub

Private Sub Workbook_Activate()
    ComboBox1.Value = ComboBox1.Value [COLOR="Red"]'pour lancer l'évènement Change [/COLOR]
    ActiveWindow.DisplayGridlines = False
    ActiveWindow.DisplayHeadings = False 'celulle
    Application.DisplayFullScreen = True 'fullscreen
    ActiveWindow.DisplayVerticalScrollBar = False 'asc Vert
    ActiveWindow.DisplayWorkbookTabs = False
End Sub

Code:
Private Sub ComboBox1_Change()
   On Error resume Next
   onglet_choisi = ComboBox1.Value
   Worksheets(onglet_choisi).Activate
End Sub

A+
 

job75

XLDnaute Barbatruc
Re : Mode pleine écran, consulter ses feuilles VBA

Re,

Bon, si votre ComboBox est dans la feuille active, la 2ème solution bug, on ne peut pas entrer comme ça des valeurs dans la ComboBox à partir de Workbook_Activate (comme dans la 1ère solution).

Utilisez donc le code suivant :

Code:
Private Sub Workbook_Deactivate()
Application.DisplayFullScreen = False
End Sub

Private Sub Workbook_Activate()
    ActiveWindow.DisplayGridlines = False
    ActiveWindow.DisplayHeadings = False 'celulle
    Application.DisplayFullScreen = True 'fullscreen
    ActiveWindow.DisplayVerticalScrollBar = False 'asc Vert
    ActiveWindow.DisplayWorkbookTabs = False
    [COLOR="Red"]On Error Resume Next
    Worksheets(ActiveSheet.OLEObjects("ComboBox1").Object.Value).Activate[/COLOR]
End Sub

Code:
Private Sub ComboBox1_Change()
   On Error resume Next
   onglet_choisi = ComboBox1.Value
   Worksheets(onglet_choisi).Activate
End Sub

A+
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 211
Messages
2 086 299
Membres
103 173
dernier inscrit
Cerba95