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

Ouverture classeur + affichage feuille avec le nom le plus grand VBA

Gregh74

XLDnaute Nouveau
Bonjour à tous,

Le problème est le suivant:
Mon classeur dispose de plusieurs feuilles dont certaines avec ce format de nom: "IW**" (**=numéro de semaine, exemple IW31).

Question:
Je souhaiterais qu'à l'ouverture de mon classeur, la feuille "IW**" contenant le plus grand nombre soit la feuille qui s'affiche.

Pistes de réflexion:
Je sais déjà comment faire apparaitre une feuille précise à l'ouverture :
Private Sub Workbook_Open()
Sheets("IW12").Select
End Sub

Mais pas de manière "variable". J'ai alors pensé à quelque chose utilisant le principe du "For Each ws In Worksheets", mais je ne vois pas comment continuer!

En espérant avoir été clair!

Merci d'avance pour vos réponses,
Greg
 

ninbihan

XLDnaute Impliqué
Re : Ouverture classeur + affichage feuille avec le nom le plus grand VBA

Bonjour Gregh,

A tester :

Code:
Private Sub Workbook_Open()
Dim a, b As Integer
a = ActiveSheet.Index
b = 0
For Each ws In Worksheets
    If ws.Name Like "IW##" Then
        If CInt(Right(ws.Name, 2)) > b Then
            b = CInt(Right(ws.Name, 2))
            a = ws.Index
        End If
    End If
Next ws
Sheets(a).Select
End Sub

Bonne journée,

Ninbihan
 

Gregh74

XLDnaute Nouveau
Re : Ouverture classeur + affichage feuille avec le nom le plus grand VBA

Salut Ninbihan,

J'ai testé et ça marche nickel!! Je te remercie pour ton temps et ta réponse.

Bonne journée,

Greg
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…