[VBA] Optimiser macro

Bonjour à tous,

J’ai fait un fichier excel avec un tableau remplissable qui fait environ 150 lignes, en dessous je fais un tableau qui récupere des données dans le 1er tableau.
Je voudrais que le 1er tableau ne soit pas afficher en entier et que le 2eme soit toujours visible a l’ecran.

J’ai donc mis un ascenseur qui a la cellule A22 lié avec la macro suivante :

[i]Application.ScreenUpdating = False
ActiveSheet.Unprotect

Select Case Range("A22").Value

Case 1
Rows("5:154").Select
Selection.EntireRow.Hidden = True
Rows("5:41").Select
Selection.EntireRow.Hidden = False
Range("B5").Select

Case 2
 Rows("5:154").Select
Selection.EntireRow.Hidden = True
Rows("6:42").Select
Selection.EntireRow.Hidden = False
Range("B6").Select

Case 3
  Rows("5:154").Select
Selection.EntireRow.Hidden = True
Rows("7:43").Select
Selection.EntireRow.Hidden = False
Range("B7").Select[/i]

C’est un extrait de la macro qui continue jusqu’a “Case 115”.

J’aimerais donc savoir si il y’a un moyen de simplifier cette macro car dans sa forme actuelle elle est tres lourde.

trois lignes devraient suffire


Rows("5:154").Selection.EntireRow.Hidden = True
Rows(4 + Range("A22") & ":" & 40 + Range("A22")).EntireRow.Hidden = False
Cells(4 + Range("A22"),2).Select

Pas très optimisé, mais ça devrait marcher
(NB : je n’ai pas essayé)

Merci pour ta réponse, j’essaye demain au boulot et je te tiens au courant.