Comment masquer des feuilles sans utiliser "xlsheetveryhidden"

qbga -  
Frenchie83 Messages postés 2254 Statut Membre -
Bonjour,
j'aimerai masquer les feuilles de classeur au démarrage de l'application,seulement j n'aimerai pas utiliser "xlsheetveryhidden" ni "xlsheethidden" car mon programme m'affiche constamment (imposible de définir la propriété visible de la classe worksheet) comme erreur quand j l'utilise,

voici le code que j'ai écrit et qui n marche pas pourtant ,

Dim nbre, cptr As Integer
Application.ScreenUpdating = False
nbre = ThisWorkbook.Sheets.count
cptr = 2
For cptr = 2 To nbre
Sheets(cptr).Visible = xlSheetHidden
Next
Application.ScreenUpdating = False

A voir également:

8 réponses

Frenchie83 Messages postés 2254 Statut Membre 339
 
essaies

Sheets(cptr).Visible = False

ça doit marcher
0
eriiic Messages postés 25847 Date d'inscription   Statut Contributeur Dernière intervention   7 282
 
Bonjour,

tu devrais le faire en pas à pas pour voir si c'est une feuille précise.
Pas de raison que ça ne marche pas.
Et xlSheetHidden = 0 = False : aucune différence

A tout hasard déposer le fichier xls (réduit au nécessaire et anonymisé) sur cjoint.com et coller ici le lien fourni.

eric
0
qbga
 
Frenchie83,mème cela n marche pas
j vais plutot faire pas à pas comme la dit eriiic,pour voir si l problème réside sur les feuille,et autre question doit faire également just après le code pour masquer ,un code pour démarsquer,?j sais que avec xlsheetveryhidden c'est obligatoire ,mais avec xlsheethidden jne sait pas
0
Frenchie83 Messages postés 2254 Statut Membre 339
 
Bonjour qbga

Je suis étonné que cela ne marche pas chez toi, alors que cela marche très bien chez moi. Ton classeur ne serait-il pas protéger?

Ouvre un nouveau classeur et refait un essai toujours avec cette ligne de code
Sheets(cptr).Visible = False

bien que ce n'est pas d'incidence, la dernière ligne de ton code doit être:
Application.ScreenUpdating = true

cordialement
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
eriiic Messages postés 25847 Date d'inscription   Statut Contributeur Dernière intervention   7 282
 
Bonjour,

nbre = ThisWorkbook.Sheets.count => nombre de feuille du classeur de la macro.
Si tu lances la macro avec un autre classeur d'actif qui a moins de feuilles tu auras une erreur puisque tu masques les feuilles de ce classeur.

eric

0
qbga
 
Bonjour
Merci bocoup pour vos aide en combinant les choses ,je me suis rendue compte que mon classeur était protégé,finalement Sheets(cptr).Visible = False,a marché a perfection,
eriic j'ai également corrigé ta remarque
foo,j pas très bien saisie ton code,pour l feuille,j'ai au moins une quarantaine de feuille a masquer,si j comprend bien ton code j serai tenu de donner un code a chaque feuille,c sera long et pénible
Merci encore à vous

heu encore une petite question,y a t'il un code pour numéroté automatiquement les pages a l'affichage? c'est a dire après l 'utilisation du count j 5 feuilles par exemple,j fais une boucle qui met visible sur true et a chaque affichage me met ds une celleule A2 par ex "page 1/5" ainsi de suite jusqu'à "page 5/5"

Désolé pour tout ça j suis novice en programmation
merci
0
Frenchie83 Messages postés 2254 Statut Membre 339
 
Bonjour

Si j'ai bien compris, tu veux numéroter que les feuilles visibles, alors essaies ceci

sur chaque feuille visible, par exemple sur un total de 3 feuilles, en cellule A2 tu auras 1/3, 2/3, 3/3

Sub NumérotationDesFeuillesVisibles()
    For i = 1 To Sheets.Count
        If Sheets(i).Visible = True Then Sheets(i).Range("A2").Value = "'" & i & "/" & Sheets.Count
    Next i
End Sub
0
foo
 
Bonjour

Voila une routine

Sub RemiseForm()
ActiveWorkbook.Unprotect
Feuille = F04.Name ' F04 = Code name de la feuille
F04.Visible = -1
For Each Feuil In Worksheets
If Feuil.Name <> Feuille Then
Feuil.Visible = 2
End If
Next
F04.Select
ActiveWorkbook.Protect
End Sub

Valider Sur excel 2002 et 2007

A+
Maurice
-1
eriiic Messages postés 25847 Date d'inscription   Statut Contributeur Dernière intervention   7 282
 
Dépose un fichier xls qui ne marche pas chez toi.
Le déposer sur cjoint.com et coller ici le lien fourni.

eric
0