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
 

Discussions similaires

Statistiques des forums

Discussions
312 177
Messages
2 085 972
Membres
103 073
dernier inscrit
MSCHOE16