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 :

.Select a repetition : a simplifier


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mars 2015
    Messages
    123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Architecte de base de données

    Informations forums :
    Inscription : Mars 2015
    Messages : 123
    Par défaut .Select a repetition : a simplifier
    Bonjour,

    On m'a toujours dit qu'il ne fallait jamais mettre .select dans nos vba mais comment simplifier ces différents code...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
        Sheets("bidule").Select
        Columns("A:A").Select
        Range("B2").Select

  2. #2
    Membre Expert Avatar de antonysansh
    Homme Profil pro
    Chargé d'études RH
    Inscrit en
    Mai 2014
    Messages
    1 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chargé d'études RH
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2014
    Messages : 1 115
    Par défaut
    Comme ton code ne fait rien, je te propose :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Sub macro1 ()
        'rien
    End sub
    Soit plus explicite !

    Si tu veux changer la valeur de la Cellule [B2] de la feuille nommée "bidule" par exemple tu peux faire : Sheets("bidule").[B2].Value = 36 sans Select

  3. #3
    Membre chevronné
    Homme Profil pro
    Ingénieur Industrialisation
    Inscrit en
    Mai 2015
    Messages
    222
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur Industrialisation
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2015
    Messages : 222
    Par défaut
    Bonjour à toi,

    En fait, le plus simple est simplement de ne pas marquer le .Select... C'est tout !

    Par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Range("A2").Select
    Selection.Interior.Color = vbBlue
    équivaut exactement à :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("A2").Interior.Color = vbBlue
    à la différence près que la cellule ne sera pas sélectionnée et donc pas forcément affichée, ce qui va largement limiter les scrollings fous qui détruisent les yeux, et accélérer la macro

    Idem à tous niveaux :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Sheets(1).Select
    ActiveSheet.Cells.Clear
    '='
    Sheets(1).Cells.Clear

    Cordialement,

    Quentin

  4. #4
    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,

    voir aussi les exemples dans cette discussion et dans celle-là


    _____________________________________________________________________________________________________

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


    _____________________________________________________________________________________________________
    Je suis Charlie - Je suis Bardo

  5. #5
    Membre Expert Avatar de antonysansh
    Homme Profil pro
    Chargé d'études RH
    Inscrit en
    Mai 2014
    Messages
    1 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chargé d'études RH
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2014
    Messages : 1 115
    Par défaut
    Pour le coté épileptique d’une macro avec plein de select je t’invite à tester ces deux codes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Sub test()
        Rows("1:38").Delete
        Dim i&, j&
        For i = 1 To 38: For j = 1 To 15
            ActiveSheet.Cells(i, j) = i * j
            ActiveSheet.Cells(i, j).Interior.Color = i * j
        Next: Next
    End Sub
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Sub test2()
        Application.ScreenUpdating = False
            Rows("1:38").Delete
            Dim i&, j&
            For i = 1 To 38: For j = 1 To 15
                ActiveSheet.Cells(i, j) = i * j
                ActiveSheet.Cells(i, j).Interior.Color = i * j
            Next: Next
        Application.ScreenUpdating = True
    End Sub
    Application.ScreenUpdating = False bloque le rafraichissement de l'affichage et Application.ScreenUpdating = True fait l'inverse.

Discussions similaires

  1. Multi-selection dans une ComboBox ?
    Par Moloko dans le forum MFC
    Réponses: 5
    Dernier message: 07/07/2021, 17h26
  2. Simplifier : plusieurs select pour un insert
    Par laurentSc dans le forum Langage SQL
    Réponses: 12
    Dernier message: 26/12/2013, 10h07
  3. [VB6] [Crystal] Selection enregistrement
    Par littlecow dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 11/01/2005, 13h08
  4. TEdit : selection du texte et autre fonction
    Par Odulo dans le forum Composants VCL
    Réponses: 5
    Dernier message: 01/08/2002, 14h27
  5. faire un selection dans une image aves les APIs
    Par merahyazid dans le forum C++Builder
    Réponses: 3
    Dernier message: 30/04/2002, 10h44

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