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 :

Optimisation de code


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2015
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2015
    Messages : 75
    Par défaut Optimisation de code
    Bonjour à tous
    J'espère ne pas ramener des sujets déjà résolus, je viens d'écumer le web sans trouver de réponse à mon problème
    Je suis en train de tout faire pour optimiser mon code, et plus précisément de virer tous les "Select" et "Activate" de celui-ci
    Certains Activate me résistent, et je n'ai pas réussi à savoir si cela est obligatoire ou si je n'ai pas encore trouvé la soluce qui permet de l'éviter
    Voila mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    'wsavis.Activate
        With wsavis.Range(Columns(cavisfirst), Columns(cavislast))
            .HorizontalAlignment = xlLeft
            .VerticalAlignment = xlTop
            .Orientation = 0
            .AddIndent = False
            .IndentLevel = 0
            .ShrinkToFit = False
            .ReadingOrder = xlContext
            .MergeCells = False
        End With
    wsavis est une variable déjà rentrée de feuille excel
    Je précise que cela marche quand je laisse le "Activate"

    EDIT : Je rajoute à cela la commande qui me permet de zoomer selon les colonnes non vides de ma feuille : comment eviter de faire un "Range("A:I").Select" et garder un zoom adapté ?

    Dois-je enregistrer un range temporaire qui prenne mes colonnes ?
    Je vous remercie de votre aide !

  2. #2
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut


    Bonjour, bonjour !

    Ligne n°3 : comme pas de feuille de calculs précisée, les deux objets Columns sont donc ceux de la feuille active ‼

    _____________________________________________________________________________________________________

    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion …

    _____________________________________________________________________________________________________
    Je suis Charlie, Bardo, Sousse

  3. #3
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2015
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2015
    Messages : 75
    Par défaut
    Purée, désolé pour le post
    Même après déjà 2 mois de vba je continue de louper des range sans préciser la feuille .... Je crois que j'en laisserai toujours passer
    Merci quand même !

    Par contre je persiste avec ma question quant au zoom adapté à une plage sélectionnée : comment s'affranchir du "Select" ?

  4. #4
    Expert confirmé

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 169
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    montre-nous le code de ta procédure où tu n'arrives pas à retirer le Select

    tu auras une réponse aussi rapide et efficace que pour le premier exemple qui contenait le code

  5. #5
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2015
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2015
    Messages : 75
    Par défaut
    Effectivement, un bout de code vaut mieux que 2 lignes d'explications !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    wsnext.Activate
        wsnext.Range(wsnext.Columns(cavisfirst), wsnext.Columns(cavislast)).Select
        ActiveWindow.Zoom = True
    Voila ce que je chercher à "nettoyer" : un zoom adapté à la taille de mon tableau

    Je te remercie de ta réponse, et attend avec impatience la prochaine à venir !

Discussions similaires

  1. optimiser le code d'une fonction
    Par yanis97 dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 15/07/2005, 08h41
  2. Optimiser mon code ASP/HTML
    Par ahage4x4 dans le forum ASP
    Réponses: 7
    Dernier message: 30/05/2005, 10h29
  3. optimiser le code
    Par bibi2607 dans le forum ASP
    Réponses: 3
    Dernier message: 03/02/2005, 14h30
  4. syntaxe et optimisation de codes
    Par elitol dans le forum Langage SQL
    Réponses: 18
    Dernier message: 12/08/2004, 11h54
  5. optimisation du code et var globales
    Par tigrou2405 dans le forum ASP
    Réponses: 2
    Dernier message: 23/01/2004, 10h59

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