helpvb
Messages postés32Date d'inscriptionjeudi 7 septembre 2006StatutMembreDernière intervention22 avril 2009
-
14 janv. 2008 à 12:19
helpvb
Messages postés32Date d'inscriptionjeudi 7 septembre 2006StatutMembreDernière intervention22 avril 2009
-
14 janv. 2008 à 19:10
Bonjour,
J ai un classeur avec 3 onglets
A l ouverture du classeur, je souhaiterais cacher le 1er onglet et afficher les 2 autres. A la fermeture du classeur, l inverse: afficher le 1er onglet et cacher les les 2 autres.
Afin d eviter a l utilisateur le defilement des onglets j ai mis Application.ScreenUpdating = False en debut et
Application.ScreenUpdating = True en fin mais ca ne marche pas !
Ci dessous le code VBA:
Private Sub Workbook_Open()
Dim i As Integer
Application.ScreenUpdating = False
For i = 2 To Sheets.Count
Sheets(i).Visible = True
Next
Sheets(1).Visible = 2
Application.ScreenUpdating = True
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim i As Integer
Application.ScreenUpdating = False
Sheets(1).Visible = True
For i = 2 To Sheets.Count
Sheets(i).Visible = 2
Next
Application.ScreenUpdating = True
End sub
Merci de votre aide
Au plaisir de vous lire :-)
A voir également:
Vb net excel screenupdating
Application.screenupdating = false permet - Meilleures réponses
helpvb
Messages postés32Date d'inscriptionjeudi 7 septembre 2006StatutMembreDernière intervention22 avril 2009 14 janv. 2008 à 16:28
Mon probleme est sur le Application.ScreenUpdating qui ne marche pas
Pas sur les sheet.visible
En d autres terme dans le before close je souhaiterais que le classeur reste positionné sur les onglets deja affiches et non ceux resultant du befor close
C est pour cela que j utilise le Application.ScreenUpdating mais ca ne marche pas
bigfish_le vrai
Messages postés1835Date d'inscriptionvendredi 13 mai 2005StatutMembreDernière intervention20 novembre 201313 14 janv. 2008 à 18:09
...le probleme est que tu mets Application.ScreenUpdating = True dans le BeforeClose. N'oublie que tu n'as pas encore fermé ton fichier. Donc excel vas mettre a jour l'affichage avant de fermet et tu veras alors les onglets apparaitrent.Pour que ca marche il faut laisser Application.ScreenUpdating a false.
Mais pourquoi les faire apparaitre si tu fermes le fichier ?
helpvb
Messages postés32Date d'inscriptionjeudi 7 septembre 2006StatutMembreDernière intervention22 avril 2009 14 janv. 2008 à 19:08
Cette manip permet de forcer l utilisateur a repondre oui à la question
posée par Excel a l ouverture du document relative à l activation des macros
Ainsi s il repond non il verra l onglet 1 qui contient un message
du style 'vous devez activer les macros pour travailler avec ce document' et ne pourra donc rien faire...
S il repond non les onglets de saisi (les vrais dirions nous) apparaissent
Voila pour l explication de ce code
Donc lors de l ouverture du document si l utilateur repond oui à activation des macros:
il verra les onglets défilés... (pas trop genant J ai mis screenupdating pour eviter ca mais ca marche pas)
A la fermeture du document (seul l onglet 1 apparait helas pas trop de circonstance ) pendant qu Excel pose la question 'voulez vous sauvegarder ?
Je voulais eviter ca en utilisant screenupdating mais ca marche pas.
Vous n’avez pas trouvé la réponse que vous recherchez ?