Masquer onglets & calcul automatique

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

fileofish

XLDnaute Occasionnel
Bonjour le forum,

Encore et toujours des questions à poser 🙂
Je travail actuellement sur un fichier où il y a de très nombreux calculs à l'intérieur et bien qu'étant au début je sens qu'il va vite devenir inutilisable.

J'ai 52 onglets : pour définir les 52 semaines; chacune nommée Semaine 1; Semaine 2;...; Semaine 52

Le mois de janvier : comprend les Semaines 1,2,3,4
Le mois de février : comprend les Semaines 5,6,7,8
...
Le mois de décembre : comprend les Semaines 48,49,50,51,52

Je souhaiterais ajouter un menu déroulant : avec les mois
1/ qui active l'activage et le déactivage d'onglets
=> Ex : si l'on prend le mois de février
X : Ma semaine la + petite
Y : Ma semaine la + grande

Est - il possible de lui dire :

Masque toutes les semaines qui sont + petites que X et celles qui sont + grandes que Y.
Où je pourrai rentrer X & Y (dans la macro en manuel inutile de faire une feuille de paramètrage j'ai pas envie de compliquer le problème)

2/ Je souhaiterais également que le calcul automatique soit déactivé pour les semaines masquées afin de soulager le pauvre Excel qui calcule de trop.
Nb : J'ai d'autres feuilles maquées où je souhaiterais conserver le calcul automatique.

Encore merci pour votre aide
Philippe
 
Re : Masquer onglets & calcul automatique

Bonjour Jack, le forum,
Cela aurait été avec plaisir, mon fichier est au travail après je peux essayer de le reconstruire car j'en suis au début si ma demande n'est pas compréhensible.
Encore bon week end à tous
Philippe
 
Re : Masquer onglets & calcul automatique

Bonsoir, fileofish et tous le forum

voila le code qui te permet d'afficher les feuilles des semaines via deux dialog_box sur lesquels tu saisis d'abordle num de la semaine de début du mois ensuite le num de la semaine de fin du mois

Code:
Sub semaines()
Dim cptr As Byte

For cptr = 1 To ThisWorkbook.Sheets.Count
    If Sheets(cptr).Name <> "PG" Then ' tu saisis le nom de ta page de garde, si elle n'existe pas il faut la créer.
        Sheets(cptr).Visible = 0
    End If
Next
On Error GoTo FIN:
X = InputBox("Saisir le N° de la semaine du début", "Semaine du début")
Y = InputBox("Saisir le N° de la semaine de fin", "Semaine du fin")
For i = X To Y
    Sheets("Semaine" & i).Visible = True 
Next
FIN:
    Exit Sub
    
End Sub


Pour le nom des feuilles ici : exemple : Semaine23 , si tes noms de feuilles sont tels, pas de problème, si sont différents il faut changer selon le nom dans la ligne

Sheets("Semaine" & i).Visible = True
 
Re : Masquer onglets & calcul automatique

Re salut,
Voila pour la désactivation/activation du calcul automatique il faut ajouter deux lignes plus bas dans le code en rouge

Sub semaines()
Dim cptr As Byte

For cptr = 1 To ThisWorkbook.Sheets.Count
If Sheets(cptr).Name <> "PG" Then ' tu saisis le nom de ta page de garde, si elle n'existe pas il faut la créer.
Application.Calculation = xlCalculationManual
Sheets(cptr).Visible = 0
End If
Next
On Error GoTo FIN:
X = InputBox("Saisir le N° de la semaine du début", "Semaine du début")
Y = InputBox("Saisir le N° de la semaine de fin", "Semaine du fin")
For i = X To Y
Sheets("Semaine" & i).Visible = True
Application.Calculation = xlCalculationAutomatic
Next
FIN:
Exit Sub

End Sub




Code:
Sub semaines()
Dim cptr As Byte

For cptr = 1 To ThisWorkbook.Sheets.Count
    If Sheets(cptr).Name <> "PG" Then ' tu saisis le nom de ta page de garde, si elle n'existe pas il faut la créer.
        Application.Calculation = xlCalculationManual
        Sheets(cptr).Visible = 0
    End If
Next
On Error GoTo FIN:
X = InputBox("Saisir le N° de la semaine du début", "Semaine du début")
Y = InputBox("Saisir le N° de la semaine de fin", "Semaine du fin")
For i = X To Y
    Sheets("Semaine" & i).Visible = True
    Application.Calculation = xlCalculationAutomatic
Next
FIN:
    Exit Sub
    
End Sub
 
Dernière édition:
Re : Masquer onglets & calcul automatique

Bonsoir King Fadhel,
Une nouvelle fois merci pour ta réponse.
Une petite question our les 2 lignes d'activation du calcul automatique. Cela signifie t-il que le calcul automatique est activé pour les feuilles affichées et désactivé pour les feuilles masquées ?
Philippe
 
Re : Masquer onglets & calcul automatique

Bonjour fileofish, kingfadhel,

Une petite question our les 2 lignes d'activation du calcul automatique. Cela signifie t-il que le calcul automatique est activé pour les feuilles affichées et désactivé pour les feuilles masquées ?

Personnellement, vu qu'on applique la propriété Calculation à l'objet Application, je suis enclin à penser que cette propriété concerne l'instance d'Excel et donc tous les classeurs et leurs feuilles (cachées ou non) ouverts dans cette instance. Deux instances différentes de Excel peuvent avoir des valeurs différentes de Calculation (mais toujours pour l'ensemble des classeurs et feuilles au sein de leur instance)
 
Dernière édition:
Re : Masquer onglets & calcul automatique

Bonjour fileofish, kingfadhel,

Personnellement, vu qu'on applique la propriété Calculation à l'objet Application, je suis enclin à penser que cette propriété concerne l'instance d'Excel et donc tous les classeurs et leurs feuilles (cachées ou non) ouverts dans cette instance. Deux instances différentes de Excel peuvent avoir des valeurs différentes de Calculation (mais toujours pour l'ensemble des classeurs et feuilles au sein de leur instance)


Voila en pièce jointe un classeur dans lequel une seule feuille avec le calcul automatique et deux feuilles avec calcul manuel.
 

Pièces jointes

Re : Masquer onglets & calcul automatique

(re)Bonjour kingfadhel,

Le classeur joint ne prouve en rien que la propriété Application.Calculation s'applique à une feuille et non pas à l'ensemble des classeurs et feuilles.

A mon avis, il faut plutôt regarder du côté de la propriété EnableCalculation qui, elle, s'applique à un objet Worksheet.
Mais j'avoue ne m'être jamais penché sur cette propriété. En particulier, je ne connais pas son comportement vis à vis des dépendants ou antécédents, d'autant plus que l'aide d'Excel précise: "Quand la valeur de cette propriété est False, vous ne pouvez pas demander un recalcul".
 
Re : Masquer onglets & calcul automatique

Bonjour à tous,

Pour fileofish, ci-joint le fichier fileofish.xls qui rajoute le choix du mois avec quelques explications.

Pour le débat sur "Application.Calculation", j'avais remarqué hier, dans les exemples que j'ai pu trouver sur le forum et ailleurs, que xlCalculationAutomatic (ou manuel) ne s'appliquait que sur des procédures évènementielles, au niveau de la feuille.

Par contre, utilisé dans un module, toutes les feuilles ne retenaient que la dernière instruction (automatique ou pas). Ceci rejoint la remarque de mapomme. Dans le fichier Masquer onglets & calcul automatique .xls ci-après j'ai rajouté un test où toutes les feuilles impaires devraient être en manuel et les autres en automatique.

Si on sélectionne le mois de juillet, le dernier onglet est impair et toutes les feuilles sont en "manuel". Pour novembre, le dernier onglet est pair et toutes les feuilles sont en "automatique", ce qui semble confirmer la remarque de mapomme.

A+ Jack2

EDIT je n'avais rafraichit et pas vu la réponse de mapomme. Je ne canonnais pas EnableCalculation. Je vais essayer de chercher.
 

Pièces jointes

Dernière édition:
Re : Masquer onglets & calcul automatique

Bonjour King fadhel, Jack2, mapomme, le forum

Merci à tous pour votre contribution, c'est vraiment gentil à vous !
J'essaie d'avancer un maximum sur le fichier pour le poster bientôt cela sera peut être plus parlant !
Bonne journée à tous
Philippe
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
3
Affichages
329
  • Question Question
XL 2016 NB.SI.ENS
Réponses
1
Affichages
413
Retour