IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Multitude de With, optimisation possible ? [XL-2003]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de midge
    Homme Profil pro
    Conseiller
    Inscrit en
    Juillet 2010
    Messages
    72
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Conseiller
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2010
    Messages : 72
    Par défaut Multitude de With, optimisation possible ?
    Bonjour au forum,
    La macro suivante a été crée par l'enregistreur à l'origine. Quelques questions ...
    1er point : En essayant de limiter les "select" j'ai crée plusieurs With End With ... est-il possible de les regrouper pour que cela soit moins fastidieux ?
    2ème point : en voulant modifier la hauteur de la ligne de titre (1), la commande supprime ma ligne de titre avec ses intitulés mais la hauteur est changée, la ligne 1 contient les valeurs à la place
    3ème point : je voulais sauver la feuille uniquement, cela est-il possible ? Les traitements suivants du classeur ne seront pas enregistrés. Par ailleurs, quel est le moyen de ne pas utiliser les "Active..." ralentisseurs de codes ?
    Merci d'avance pour vos réponses à mon petit niveau de codage

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
     
    Sub Afichage()
     
    Application.ScreenUpdating = False
     
    With Sheets("test").Range("1:1").RowHeight = 25.5
    End With
     
    With Sheets("test").Range("2:300").RowHeight = 12.75
    End With
     
    With Sheets("test").UsedRange
                              .Sort Key1:=Range("B2"), Order1:=xlAscending
     
    End With
    With Sheets("test")
            Columns("E:E").ColumnWidth = 12.43
            Columns("I:I").ColumnWidth = 8.43
            Columns("K:K").ColumnWidth = 12.29
            Columns("L:L").ColumnWidth = 10.86
            Columns("R:R").ColumnWidth = 21
            Columns("S:S").ColumnWidth = 22.71
            Columns("U:U").ColumnWidth = 11.14
            Columns("V:V").ColumnWidth = 6.57
            Columns("W:W").ColumnWidth = 17.14
            Columns("X:X").ColumnWidth = 25.57
    End With
     
    With Sheets("test").Range("J2")
    ActiveWindow.FreezePanes = True
    ActiveWorkbook.Save
    End With
     
     
    Application.ScreenUpdating = True
     
    End Sub

  2. #2
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Pour les With, tu peux faire comme ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    Sub Afichage()
     
    Application.ScreenUpdating = False
    With Sheets("test")
        .Rows(1).RowHeight = 25.5
        .Rows("2:300").RowHeight = 12.75
        .UsedRange.Sort Key1:=.Range("B2"), Order1:=xlAscending
        .Columns("E:E").ColumnWidth = 12.43
        .Columns("I:I").ColumnWidth = 8.43
        .Columns("K:K").ColumnWidth = 12.29
        .Columns("L:L").ColumnWidth = 10.86
        .Columns("R:R").ColumnWidth = 21
        .Columns("S:S").ColumnWidth = 22.71
        .Columns("U:U").ColumnWidth = 11.14
        .Columns("V:V").ColumnWidth = 6.57
        .Columns("W:W").ColumnWidth = 17.14
        .Columns("X:X").ColumnWidth = 25.57
    End With

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Quelle optimisation possible pour ma requête ?
    Par timousse dans le forum MySQL
    Réponses: 6
    Dernier message: 16/12/2014, 17h38
  2. Souci de performance sur des grosses tables - optimisation possible ?
    Par patate_violente dans le forum Administration
    Réponses: 3
    Dernier message: 07/08/2011, 09h16
  3. Réponses: 10
    Dernier message: 08/12/2010, 10h14
  4. Sous-Sous-Requête: Optimisation possible ?
    Par FMaz dans le forum Requêtes
    Réponses: 11
    Dernier message: 03/04/2008, 03h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo