Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Autres Pb Macro Page Précédente & feuille(s) masquée(s)

  • Initiateur de la discussion Initiateur de la discussion Oliver77
  • Date de début Date de début

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 !

Oliver77

XLDnaute Occasionnel
Bonjour le forum,

Dans un fichier j'ai des feuilles masquées qui empêchent à ma macro "page_precedente" de fonctionner.

---------------------------------
For i = 1 To Sheets.Count + 1
If Sheets(i).Name = ActiveSheet.Name Then
Sheets(i - 1).Activate
Exit Sub
End If
Next i
---------------------------------

Le comble est que la même macro fonctionne très bien dans l'autre sens (c'est-à-dire qu'elle ignore les feuilles masquer).
😳😳😳

Merci

Oliver77
 
VB:
For i = 1 To Sheets.Count
If Sheets(i).Name = ActiveSheet.Name Then
    If Sheets(i - 1).Visible = True Then
        Sheets(i - 1).Activate
        Exit Sub
    Else
        ' code si feuille masquée
    End If
End If
Next i
 
Avec gestion de l'erreur si première itération vrai
VB:
Sub essai()
For i = 1 To Sheets.Count
    If Sheets(i).Name = ActiveSheet.Name Then
        If i = 1 Then Exit Sub
        If Sheets(i - 1).Visible = True Then
            Sheets(i - 1).Activate
            Exit Sub
        Else
            ' code si feuille masquée
        End If
    End If
Next i
End Sub
 
Dernière édition:
Merci,

Je me suis inspiré de ton code pour éviter les feuilles masquées.
Je n'en ai pas beaucoup mais j'en ai 2 qui se suivent.

J'ai donc mis 2 lignes de codes et mis -2 sur la prèmière et -3 sur la
suivante...

Super,
Encore merci !

Oliver77😉
 
Bonjour à tous,

Je reviens à la charge avec mon problème de retour pages car j'ai fait évoluer mon projet.
Pour en faciliter la lecture je masque les feuilles dont je n'ai pas besoin (90 au total).
Il me reste au max une dizaine de feuilles visibles (10/90).
Pour naviguer entre elles je n'ai pas trouvé mieux que de faire 2 pages de codes.

For i = 1 To Sheets.Count
If Sheets(i).Name = ActiveSheet.Name Then
If Sheets(i - 1).Visible = True Then
Sheets(i - 1).Activate
Exit Sub
Else

If Sheets(i - 2).Visible = True Then
Sheets(i - 2).Activate
Exit Sub
Else
...
If Sheets(i - 60).Visible = True Then
Sheets(i - 60).Activate
Exit Sub
Else
Sheets(i - 61).Activate
End If '1
End If '2
...
End If '60

Next i
 
Salut à tous, à essayer:
VB:
Sub En_Arrière()
Dim WsV As Worksheet
    Set WsV = ActiveSheet
    For i = 1 To Worksheets.Count
        Select Case True
            Case Sheets(i).Name = ActiveSheet.Name:
                WsV.Activate
                Exit For
            Case Sheets(i).Visible: Set WsV = Sheets(i)
        End Select
    Next
    Set WsV = Nothing
End Sub
Sub En_Avant()
Dim WsV As Worksheet
    Set WsV = ActiveSheet
    For i = Worksheets.Count To 1 Step -1
        Select Case True
            Case Sheets(i).Name = ActiveSheet.Name:
                WsV.Activate
                Exit For
            Case Sheets(i).Visible: Set WsV = Sheets(i)
        End Select
    Next
    Set WsV = Nothing
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
2
Affichages
573
Réponses
7
Affichages
1 K
Réponses
8
Affichages
1 K
Réponses
3
Affichages
1 K
Réponses
4
Affichages
899
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…