Vitesse d'éxécution...

ccdouble6

XLDnaute Occasionnel
Bonjour le Forum,

Utilisateur d'excel 2000 sur un poste de 480Mo de RAM, je souhaite gagner sur le temps d'éxécution de ma macro de "masquage".
Vu mon niveau c'est plutot du système D, mais ça fonctionne. C'est une macro qui masque toutes les lignes qui n'ont pas un X tapé en colonne A (déclenchement par clic sur un bouton).
Je pense l'appliquer à un futur tableau qui risque de comporter beaucoup, beaucoup de lignes, j'envisage donc la capacité maxi de lignes dans ma macro, laquelle tourne actuellement à 100 lignes masquées par seconde (NOTA : il y a aussi une ligne X vers la 8500e).
Ci-joint le fichier de test.
Y a-t-il un moyen de rendre cette macro plus rapide ? ou puis-je en tout cas espérer qu'avec un poste plus puissant elle gagnera en rapidité ?
Je précise qu'à terme le X pourra se déterminer par asso de formules, et que j'envisage l'utilisation du Filtrage automatique en dernier recours.
Merci par avance pour vos lumières et bonne soirée !!
 

Pièces jointes

  • Test-Masq.zip
    7.1 KB · Affichages: 39

ccdouble6

XLDnaute Occasionnel
Re : Vitesse d'éxécution...

:D Bonjour à tous !!!

Arf!! Enorme :cool: euh alors j'ai enregistré la page, et je vais voir les possibilités sur mon poste, ça m'a l'air spectaculaire !! :eek:
Un grand merci à tous !!!!
Et bon aprem !!!


PS : qq'un a essayé en mettant un X à la ligne 60 000 juste comme ça ? ça ne va pas perturber les chronos ?? enfin je vais voir... :rolleyes:
 

ccdouble6

XLDnaute Occasionnel
Re : Vitesse d'éxécution...

Bonjour le forum,

Juste une tite question : je souhaite tenter la même chose, mais pour masquer des colonnes...
(pouvoir masquer les colonnes qui ont un X en ligne 3)
La macro adaptée ne marche pas, qq'un peut-il m'aider ?? problème de syntaxe je pense...
Ci-joint mon fichier test.
Merci d'avance et bon aprem !!!! :)
 

Pièces jointes

  • Spécial colonnes.xls
    24.5 KB · Affichages: 35

skoobi

XLDnaute Barbatruc
Re : Vitesse d'éxécution...

Bonjour,

cette fois-ci tu veux faire l'inverse on est d'accord (cacher les colonnes qui ont "X").
Je te propose ce code:
Code:
Sub Macro1()
Dim trouve As Range, firstAddress As String, plage As Range
'l'option SpecialCells(xlCellTypeConstants) permet de ne pas prendre en compte les cellules
'qui seraient vides
With Range([A3], [IV3].End(xlToLeft)).SpecialCells(xlCellTypeConstants)
  Set trouve = .Find("X", [IV3].End(xlToLeft), LookIn:=xlValues, lookat:=xlWhole)
  If Not trouve Is Nothing Then
    Set plage = trouve.EntireColumn
    firstAddress = trouve.Address
    Do
      Set plage = Union(plage, trouve.EntireColumn)
      Set trouve = .FindNext(trouve)
    Loop While Not trouve Is Nothing And trouve.Address <> firstAddress
  End If
  plage.EntireColumn.Hidden = True
End With
End Sub

Bon après-midi
 

ccdouble6

XLDnaute Occasionnel
Re : Vitesse d'éxécution...

Bonjour le forum ! Merci Skoobi :)

Je vais tester ce texte :)
Par contre euh par rapport à la macro sur mon fichier test (liée au bouton), il y avait tant d'erreurs que ça ?? n'y a-t-il pas juste un ptit truc de syntaxe à changer ? :eek: Si tu peux jeter un coup d'oeil, merci d'avance :D
Bonne soirée et week end !!
 

skoobi

XLDnaute Barbatruc
Re : Vitesse d'éxécution...

Re bonjour,

La syntaxe pour l'objet Range n'est pas bonne.
voici des exemples pour A1:B10 par exemple:
Range("A1:B10") (classique)

i = 1
j = 10
Range("A" & i & ":B" & j)

Si la colonne est variable, il faut utiliser Cells car Range n'accepte pas les chiffres pour identifier les colonnes: Cells(ligne,colonne)
exemple pour C1:
col = 3
Cells(1,3)

Espérant avoir éclairé ta lanterne ;).
 

ccdouble6

XLDnaute Occasionnel
Re : Vitesse d'éxécution...

Bonjour le Forum,

Je reviens vers vous pour une question euh.. qui découle du reste :)

... et... pour réafficher ?
N'ayant pas bien saisi comment adapter le texte de Skoobi dans ce sens,
j'ai concocté cela :


Private Sub Reaff_Click()
'Réaffiche TOUT
Application.ScreenUpdating = False
Dim i As Long
For i = 16 To 65536
Rows(i).Hidden = False
Next i
Application.ScreenUpdating = True
End Sub

Si qq'un peut m'aider à faire accélerer la bête.. enfin si ya moyen... :D
Merci d'avance et bonne soirée à tous !
 

jeanpierre

Nous a quitté
Repose en paix
Re : Vitesse d'éxécution...

Bonsoir tout le fil,

Accélérer sur plus de 65000 lignes avec l'action me semble bien difficile..

Pour résumer, n'espères pas trop d'améliorations... enfin, mon sentiment.

Bon WE tout de même

Jean-Pierre
 

Discussions similaires

Statistiques des forums

Discussions
312 746
Messages
2 091 598
Membres
105 006
dernier inscrit
bhabali