Optimisation macro

bonjour a tous

j ai essayé de faire ma premiere macro pour afficher ou masquer des lignes.

cette macro fonctionne mais est tres longue a s executer je voudrai donc l optimiser

mais n etant doué en vba je vous demande un petit coup de main.

soi dans une feuille 2 tableaux qui se remplissent automatiquement

le 1er en A5:V28

LE 2eme en A34:V56

Le but est de masquer les lignes vide

ou d afficher les lignes non vide de chaque tableau

sachant que ces ligne sont toujours en fin de tableau

pas de ligne vide entre les lignes non vides

et en fin que cette macro se declanche a l ouverture de la feuille

merci d avance a tous pour votre aide

voici ma macro:

Sub afficher_masquer_lignes()

For Each c In Range("A5", "A28")

For i = 0 To Range("v5").Column

If c.Offset(0, i) <> "" Then

n = 1

End If

Next

If n <> 1 Then

c.EntireRow.Hidden = True

Else

c.EntireRow.Hidden = False

End If

n = 0

Next

For Each c In Range("A34", "A56")

For i = 0 To Range("v34").Column

If c.Offset(0, i) <> "" Then

n = 1

End If

Next

If n <> 1 Then

c.EntireRow.Hidden = True

Else

c.EntireRow.Hidden = False

End If

n = 0

Next

End Sub

salutations

djeanphi

Bonjour,

déjà en début de macro tu peux mettre :

application.screenupdating=false

Sachant que le plus rapide est l'utilisation du filtre automatique (manuellement ou par macro). Mais bon, vue la petite taille de tes tableau la différence ne sera pas sensible.

et en fin que cette macro se declanche a l ouverture de la feuille

Utilise l'évènement Worksheet_Activate()

eric

bonjours eriiic

merci pour tes conseilles

j ai mis application.screenupdating=false

en début de macro cela n accélère pas la macro mais cela évite que ma page saute pendant l exécution de la macro

j ai bien pensé au filtre automatique mais la colonne avec le plus de données n est pas forcement la même ça peut être la

colonne A ou H ou O ou V.

donc j ai pensé a une macro

je pensais regarder la première ligne vide du tableau

et si les lignes supérieures sont masquer alors les afficher

sinon masquer de la première ligne vide a la fin du tableau .

je pense que cela pourrai aller plus vite

mais je ne sais pas comment écrire cela en vba

salutations

djeanphi

C'est lent pour masquer une vingtaine de lignes ????

Là je pense que tu peux déposer ton fichier (réduit au nécessaire).

eric

Rechercher des sujets similaires à "optimisation macro"