Application.ScreenUpdating [Résolu]

Messages postés
32
Date d'inscription
jeudi 7 septembre 2006
Dernière intervention
22 avril 2009
- 14 janv. 2008 à 12:19 - Dernière réponse :
Messages postés
32
Date d'inscription
jeudi 7 septembre 2006
Dernière intervention
22 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 :-)
Afficher la suite 

Votre réponse

5 réponses

Meilleure réponse
Messages postés
1839
Date d'inscription
vendredi 13 mai 2005
Dernière intervention
20 novembre 2013
- 14 janv. 2008 à 16:04
3
Merci
salut,

je ne vois pas la relation entre Application.ScreenUpdating et cacher "les onglets ".

je pense que par cacher "les onglets" il faut comprendre cacher les feuilles.

remplace :

Sheets(1).Visible = 2

par

Sheets(1).Visible = False 'mais peut encore etre rendu visible par l'utilisateur via le menu Format, Feuille

Pour cacher la feuille et qu'elle n'apparaise pas dans la liste du menu Format, Feuille

Sheets(1).Visible = xlVeryHidden

A+

Merci bigfish_le vrai 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 90 internautes ce mois-ci

Commenter la réponse de bigfish_le vrai
Meilleure réponse
Messages postés
32
Date d'inscription
jeudi 7 septembre 2006
Dernière intervention
22 avril 2009
- 14 janv. 2008 à 16:28
3
Merci
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

Merci helpvb 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 90 internautes ce mois-ci

Commenter la réponse de helpvb
Meilleure réponse
Messages postés
1839
Date d'inscription
vendredi 13 mai 2005
Dernière intervention
20 novembre 2013
- 14 janv. 2008 à 18:09
3
Merci
...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 ?

A+

Merci bigfish_le vrai 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 90 internautes ce mois-ci

Commenter la réponse de bigfish_le vrai
Meilleure réponse
Messages postés
32
Date d'inscription
jeudi 7 septembre 2006
Dernière intervention
22 avril 2009
- 14 janv. 2008 à 19:08
3
Merci
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.

Merci helpvb 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 90 internautes ce mois-ci

Commenter la réponse de helpvb
Meilleure réponse
Messages postés
32
Date d'inscription
jeudi 7 septembre 2006
Dernière intervention
22 avril 2009
- 14 janv. 2008 à 19:10
3
Merci
oups petit rectificatif:
juste avant 'voila pour l explication de ce code'
fallait lire ' sil repond oui'

Merci helpvb 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 90 internautes ce mois-ci

Commenter la réponse de helpvb

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.