macro et masquage feuilles excel

melba

XLDnaute Occasionnel
Bonjour,

Je souhaiterais vous soumettre le problème suivant :

Dans mon fichier excel 2003, j'ai une 1ère feuille sur laquelle j'ai placé des boutons d'option auxquels j'ai affecté des macros.
Ces macros sont très simples et m'emmènent vers d'autres feuilles du même fichier .
J'ai une dizaine de feuilles et comme je ne souhaite pas que l'utilisateur passe par les onglets de feuille en bas de l'écran mais coche obligatoirement les cases d'option qui se trouvent sur la 1ère feuille, j'ai masqué les feuilles 2 à 10.
Le problème c'est que lorsque je coche une case sur la feuille 1 mes macros ne fonctionnent pas et j'ai un message de ce type quand je fais "débogageé :

Sheets("8").Select : CETTE LIGNE EST EN JAUNE
ActiveWindow.ScrollRow = 2
ActiveWindow.ScrollRow = 3
ActiveWindow.ScrollRow = 4
ActiveWindow.ScrollRow = 3
ActiveWindow.ScrollRow = 2
ActiveWindow.ScrollRow = 1
ActiveWindow.ScrollColumn = 2
ActiveWindow.ScrollColumn = 3
ActiveWindow.ScrollColumn = 4
ActiveWindow.ScrollColumn = 5
ActiveWindow.ScrollColumn = 4
ActiveWindow.ScrollColumn = 3
ActiveWindow.ScrollColumn = 2
ActiveWindow.ScrollColumn = 1
Range("B2:E2").Select
End Sub

Merci pour votre aide
 

melba

XLDnaute Occasionnel
Re : macro et masquage feuilles excel

Bonjour,

Après avoir testé je constate que maintenant la macro modifiée fonctionne si je masque ma douzaine de feuilles, mais quand j'active les macros , ces feuilles masquées s'affichent en bas de l'écran alors que je ne veux pas qu'elles apparaissent.
Pour le moment j'ai démasqué et j'utilise les flèches ( je ne sais pas comment elles se nomment ) que je fais glisser pour cacher mes feuilles.
Pensez-vous que si je protège mes feuilles je pourrais empêcher l'utilisateur de les rendre visible et dans le même temps que mes macros fonctionnent?
Merci pour votre aide
 

flyonets44

XLDnaute Occasionnel
Re : macro et masquage feuilles excel

Bonsoir
pour masquer tes feuilles en fin de macro tu mets ce code
Sub masque()
'Rend la feuille invisible à l utilisateur
Sheets("Feuil1").Visible = xlSheetVeryHidden
End Sub
pour les démasquer et permettre le déroulement normal de tes macros dans ces feuilles
Sub demasque()
Sheets("Feuil1").Visible = xlSheetVisible
End Sub
Cordialement
Flyonets
 

melba

XLDnaute Occasionnel
Re : macro et masquage feuilles excel

Merci pour ton aide mais avant de tester puis-je avoir une précision?
Je souhaite que ma macro fonctionne, donc me permette d'aller sur la feuille souhaitée que j'ai masquée mais qu'à aucun moment on ne voit la feuille masquée en bas de l'écran.
Par conséquent laquelle de tes propositions dois-je choisir puisque tu as l'air de dire que je dois démasquer pour permettre le déroulement de mes macros.
Je ne suis pas experte et suis un peu perdue.
Merci par avance
 

eriiic

XLDnaute Barbatruc
Re : macro et masquage feuilles excel

Bonjour,

Si ta feuille reste toujours masquée le .activate et le Range("B2:E2").Select est inutile à de rares exceptions près.
Tu peux travailler directement sur les cellules sans les sélectionner.
Il faut juste modifier un peu tes macros en conséquence.

eric
 

melba

XLDnaute Occasionnel
Re : macro et masquage feuilles excel

Un grand merci à tous
J'ai regardé ce que vous m'avez indiqué et en fait j'ai adapté le code suivant à mes boutons et ça marche impeccable.
Private Sub CommandButton1_Click()
Application.ScreenUpdating = False
Sheets("Sommaire").Visible = True
Sheets("b").Visible = False
Application.ScreenUpdating = True
End Sub

Encore une petite chose, là j'abuse un peu car c'est déjà très bien mais bon je vous pose la question quand même :

j'ai protégé toutes mes feuilles, les macros et contrôles activex fonctionnent mais j'ai remarqué que l'utilisateur pourrait quand même renommé voire supprimer les 2 feuilles qui restent apparentes soit la feuille "sommaire" et la dernière feuille que je viens de choisir grâce à mes cases d'option.
Puis-je empêcher cela?

Encore mille mercis à tous
 

Fo_rum

XLDnaute Accro
Re : macro et masquage feuilles excel

Bpnjour,

J'ai une dizaine de feuilles et comme je ne souhaite pas que l'utilisateur passe par les onglets de feuille en bas de l'écran mais coche obligatoirement les cases d'option qui se trouvent sur la 1ère feuille, j'ai masqué les feuilles 2 à 10.
Une autre possibilité : dans les options du classeur "Cacher Les Onglets". On évite les tracas des feuilles cachées.
Tu as un exemple de programmation dans le fichier joint.
 

Pièces jointes

  • VersFeuille.xls
    42 KB · Affichages: 62
  • VersFeuille.xls
    42 KB · Affichages: 58
  • VersFeuille.xls
    42 KB · Affichages: 62

DoubleZero

XLDnaute Barbatruc
Re : macro et masquage feuilles excel

Re-bonjour, bonjour, Fo_rum,

Encore une merveille, Fo_rum :) !

Pour éviter que l'utilisateur n'affiche définitivement l'ensemble des onglets, via les options d'Excel,
peut-être pourrait-on ajouter ceci :

Code:
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
If ActiveWindow.DisplayWorkbookTabs = True Then ActiveWindow.DisplayWorkbookTabs = False
End Sub

A moins qu'une raison ne s'y oppose :confused: ?

A bientôt.
 

Discussions similaires

Réponses
8
Affichages
499

Statistiques des forums

Discussions
312 412
Messages
2 088 196
Membres
103 763
dernier inscrit
p.michaux