XL 2013 Affichage lignes très long

Usine à gaz

XLDnaute Barbatruc
Bonjour à toutes et à tous,

LOL ça faisait longtemps car grâce à vous toutes et tous, j'ai pu apprendre et solutionner beaucoup de mes soucis ;)

Me voilà à nouveau devant vous pour un souci d'affichage de lignes :

Mon fichier de travail peut contenir en moyenne jusqu'à + ou - 50 000 lignes.

Pour notre gestion, selon des critères, on affiche les lignes qui sont utiles à afficher.
Mais c'est très long ...
Pour afficher toutes les lignes, ça prend quasiment 2 minutes.
Voici ci-dessous mon code :
Code:
Sub LignesSuivis70Trie()
    Application.EnableEvents = False
    Application.ScreenUpdating = False
    Application.Calculation = xlManual
 
    Sheets("SuivisAppels").Select
    ActiveSheet.Unprotect Password:=""
    Rows("7:50000").Hidden = False

    Range("X1").Select
    ActiveCell.FormulaR1C1 = _
        "=CONCATENATE(""à traiter"",""                          "",R5C32-R5C35)"
    Range("V1").Select
    ActiveCell.FormulaR1C1 = "=R5C35"
     
    With Worksheets("SuivisAppels") 'Nom feuille à adapter au besoin
     With .Range("a7:az" & .Range("t65536").End(xlUp).Row)
    .Sort key1:=.Cells(1, 20), order1:=xlAscending, Header:=xlNo
    End With
    End With
 
    ActiveSheet.Protect Password:="", DrawingObjects:=True, Contents:=True, Scenarios:=True
    ActiveSheet.EnableSelection = xlNoRestrictions
    Application.EnableEvents = True
    Application.ScreenUpdating = True
    Application.Calculation = xlAutomatic
    Call Remonte
End Sub

Vu la taille du fichier et les infos confidentielles, il m'est difficile de joindre mon fichier.
Auriez-vous une idée pour réduire le temps de traitement ?
Avec mes remerciements,
Je vous souhaite à toutes et à tous un très bon WE,
Amicalement,
Lionel,
 

Staple1600

XLDnaute Barbatruc
Re

Que ce soit publié sur un site est chose.
Si les données sont sont copyrigtht (pour s'en assurer voir les CGU du site d'où provient ton collage), elles n'ont pas à être publier sur un autre site.

Bref, des données bidons sont l'assurance d'éviter de potentiels soucis d'ordre juridique qui pourraient survenir à l'encontre d'XLD.
 

Staple1600

XLDnaute Barbatruc
Re,

Il ne n'agit pas de supprimer les annonces mais de subsituer leur contenu par des données fictives.

Il existe des macros sur le forum pour faire le job.

EDITION: En voici une sortie de la poussière de mes archives
Lance la macro nommée Orangina_SecouezMoi sur une copie de ton fichier exemple.
VB:
Sub Orangina_SecouezMoi()
Dim c As Range
Application.ScreenUpdating = False
For Each c In ActiveSheet.UsedRange
If Not IsEmpty(c) Then
c = MeliMelo(c.Text)
End If
Next
End Sub
Private Function MeliMelo(X As String)
On Error Resume Next
n = Len(X)
Y = vbNullString
Do
    i = Int(Rnd() * n) + 1
    c = Mid(X, i, 1)
    If c <> "*" Then
    Y = Y & c
    X = Replace(X, c, "*", , 1)
    End If
Loop Until Len(Y) = n
MeliMelo = StrConv(Y, vbProperCase)
End Function
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re

@arthour973
Ce code ne sert à rien d'autre que de mélanger (donc anonymiser les données) pour créer un fichier exemple qui ne posera aucun problème de confidentialité.
Il doit planter parce que tu dois avoir des formules sur tes feuilles.
Sinon, tu trouveras dans les archives des versions plus abouties de ce genre de code.


J'attends donc une version vraiment simplifiée* de ton classeur (avec simplement des données fictives dans les bonnes colonnes) mais seulement sur une trentaine de lignes
et avec tout ton code VBA et un peu plus de commentaires où tu expliques quelles sont les modifs que tu as faites entre Origine et Modifié.
Merci d'avance.

NB: *: Le plus simple, c'est:
de partir d'un classeur vierge créer spécialement pour la question
Classeur vierge qui ne conserve de l'original que le nom des feuilles, les plages nommées et les formules
Pour remplacer les données (sans formules) , tu saisis caractères style ABCD1et tu recopies vers le bas.
(sur une cinquantaine de lignes)
Tu copies/colles tes codes VBA dans ce classeur vierge et voila un fichier exemple tout beau tout propre qui devrait avoir un poid trés léger. ;)
 
Dernière édition:

Usine à gaz

XLDnaute Barbatruc
Voici une version plus anonyme et plus allégée.

La différence entre la feuille Origine (contient liens et texte annonces) et la feuille modifé (ne contient plus les liens ni textes annonces).
J'ai fait ces deux feuilles pour montrer la différence des temps d'affichages.
Malheureusement, avec la version allégée que je joins, la différence des temps de traitement n'existe presque plus et ce n'est donc plus significatif.
 

Pièces jointes

  • Test affiche masque lignes3.xlsm
    400.2 KB · Affichages: 14

Discussions similaires

Réponses
12
Affichages
473
Réponses
4
Affichages
434

Statistiques des forums

Discussions
314 716
Messages
2 112 159
Membres
111 447
dernier inscrit
jasontantane