Optimisation d'un programme sous vba excel

sebi78 -  
likum Messages postés 14 Statut Membre -
bonjour à tous,

Je cherche à optimiser mon programme.
J'ai crée une 20 feuilles que je rend visible ou invisible à partir de boutons. Voici un exemple de code sur un bouton.
Je voudrais faire une incrementation et des boucles sur le numero des feuilles pour simplifier mon programme.
Comment puis faire.

Merci de m'aider
------------------------------------------

Private Sub CommandButton1_Click()
Worksheets(2).Visible = True
Worksheets(1).Visible = False
etc....
Worksheets(20).Visible = False

'Activation d'une feuille
Worksheets(2).Activate
'recentrer sur la feuille
Worksheets(2).Range("a5").Select

End Sub
Configuration: Windows XP
Internet Explorer 7.0

1 réponse

  1. likum Messages postés 14 Statut Membre 3
     
    Salut!

    Pour optimiser ta fonction, tu peux utiliser une macro générale
    que t'appellera avec un argument qui correspond au numéro de
    feuille et un pour le nombre de feuilles:
    sub affichage( num, max)
    for cpt = 1 to max
    if cpt = num then
    Worksheets( cpt ).Visible = True
    else
    Worksheets(cpt).Visible = False
    end if

    next
    end sub

    En fait ce n'est pas vraiment optimiser, c'est plus tôt un code plus court
    0