Optimisation d'un programme sous vba excel
sebi78
-
likum Messages postés 14 Date d'inscription Statut Membre Dernière intervention -
likum Messages postés 14 Date d'inscription Statut Membre Dernière intervention -
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
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:
- Optimisation d'un programme sous vba excel
- Optimisation pc - Accueil - Utilitaires
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Trier un tableau excel - Guide
- Déplacer colonne excel - Guide
1 réponse
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
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