Optimisation d'un programme sous vba excel

Fermé
sebi78 - 16 mars 2007 à 20:33
likum Messages postés 14 Date d'inscription mercredi 15 février 2006 Statut Membre Dernière intervention 6 mai 2008 - 28 mars 2007 à 11:37
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
A voir également:

1 réponse

likum Messages postés 14 Date d'inscription mercredi 15 février 2006 Statut Membre Dernière intervention 6 mai 2008 3
28 mars 2007 à 11:37
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