[RESOLU] code masquer demasquer ligne tres lent à l'execution

charbsou

XLDnaute Nouveau
bonjour

voila le code qui me permet de masquer et demasquer des lignes d'un tableau a deux colonnes grace a un bouton mis sur la feuille concerne.

Sub Bouton14_Cliquer()

Application.ScreenUpdating = False

On Error Resume Next
With ActiveSheet.Shapes(Application.Caller).TextFrame.Characters
If .Text = "Masquer" Then
.Text = "Démasquer"

Range("c10:c459").SpecialCells(xlCellTypeBlanks).EntireRow.Hidden = True

Else

.Text = "Masquer"
For Each Cel In Range("C10:C459")
Rows(Cel.Row).Hidden = False

Next Cel

End If
End With
End Sub


lorsque je clic sur le bouton, les 450 lignes du tableau don l'une des cellules est vide se masquent en 0.5 sec mais lorsque je clic sur le meme bouton pour les demasquer, cela doit bien prendre 4 sec.

est ce qu'il serai possible d'aller plus vite ?

merci et bonne journee
 
Dernière édition:

charbsou

XLDnaute Nouveau
Re : code masquer demasquer ligne tres lent à l'execution

heuuuu lol une boucle ?? j'ai pas encore integre et encore moins compris tout les concept du vba en fait tres peu .... je prend des codes sur les forums que j'adapte sans forcement bien les comprendre à mon projet meme si il m'arrive de trouver de petites choses tout seul.

pour ce qui est de votre proposition, il faut que je remplace dans mon code

For Each Cel In Range("C10:C459")
Rows(Cel.Row).Hidden = False

Next Cel

par votre ligne
Range("c10:c459").EntireRow.Hidden = False

c'etait bien ça ?

en tout cas si c'est ça, ça marche parfaitement merci beaucoup
 

Statistiques des forums

Discussions
312 198
Messages
2 086 107
Membres
103 120
dernier inscrit
83400ren