Autres Quelques fois ça bug feuilles cachées

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 !

un internaute

XLDnaute Impliqué
Bonjour le forum
Dans la macro ci-dessous ça bug mais pas toujours sur cette ligne

Code:
 Sheets(1).Select                     'Mettre Sheets(1).Select à cet endroit sinon il passe en revue toutes les feuilles

Je suis obligé d'aller dans format afficher feuille et les faire afficher
Auriez-vous svp une astuce?
Merci à vous
VB:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim Sh As Worksheet
Application.ScreenUpdating = False
  For Each Sh In ThisWorkbook.Worksheets
    Range("A1").Select
  Next Sh
Sheets(1).Select                     'Mettre Sheets(1).Select à cet endroit sinon il passe en revue toutes les feuilles
  On Error Resume Next
For i = 1 To Sheets.Count
If Sheets(i).Name <> "EXAMENS_CARDIOLOGIQUE_DIVERS" Then Sheets(i).Visible = False
Next i
    Application.ScreenUpdating = True
  Range("A1").Select
End Sub

Ps: encore Excel 2003
 
Bonjour le forum
Dans la macro ci-dessous ça bug mais pas toujours sur cette ligne

Code:
 Sheets(1).Select                     'Mettre Sheets(1).Select à cet endroit sinon il passe en revue toutes les feuilles

Je suis obligé d'aller dans format afficher feuille et les faire afficher
Auriez-vous svp une astuce?
Merci à vous
VB:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim Sh As Worksheet
Application.ScreenUpdating = False
  For Each Sh In ThisWorkbook.Worksheets
    Range("A1").Select
  Next Sh
Sheets(1).Select                     'Mettre Sheets(1).Select à cet endroit sinon il passe en revue toutes les feuilles
  On Error Resume Next
For i = 1 To Sheets.Count
If Sheets(i).Name <> "EXAMENS_CARDIOLOGIQUE_DIVERS" Then Sheets(i).Visible = False
Next i
    Application.ScreenUpdating = True
  Range("A1").Select
End Sub

Ps: encore Excel 2003
Bonjour,

d'après ce que j'ai compris (remonter les feuilles en A1 avant de les masquer)
VB:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
    Dim Sh As Worksheet
    
    Application.ScreenUpdating = False
    
    For Each Sh In ThisWorkbook.Worksheets
        ' Repositionner sur A1
        Sh.Range("A1").Activate
        
        ' Masquer si ce n'est pas la feuille principale
        If Sh.Name <> "EXAMENS_CARDIOLOGIQUE_DIVERS" Then
            Sh.Visible = xlSheetHidden
        End If
    Next Sh
    
    Application.ScreenUpdating = True
End Sub
 
- 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
7
Affichages
283
Réponses
4
Affichages
623
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
878
Réponses
12
Affichages
721
Réponses
3
Affichages
764
Retour