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

VBA Access Discussion :

VBA optimisation code (basic) [AC-2013]


Sujet :

VBA Access

  1. #1
    Membre confirmé
    Homme Profil pro
    AutoEntrepreneur Photo
    Inscrit en
    Avril 2015
    Messages
    141
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : AutoEntrepreneur Photo
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2015
    Messages : 141
    Par défaut VBA optimisation code (basic)
    Hello,

    Voilà, je débute en VBA (depuis quelques semaines), et j'ai donc pas forcément les bons réflexes.. je lis pas mal de tuto, mais il y a beaucoup d'infos et je ne sais pas trop ou chercher, et quoi chercher pour trouver mon besoin.

    Voici un code que j'utilise.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    sub verouiller()
    Me![sousform1].Form![champs_1].Locked = True
    end sub
    Et je souhaiterai appliquer ce code à plusieurs champs, et formulaires:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    sub verouiller()
    Me![sousform1].Form![champs_1].Locked = True
    Me![sousform1].Form![champs_2].Locked = True
    Me![sousform2].Form![champs_1].Locked = True
    end sub
    Je me dis qu'il y a probablement moyen d'optimiser cela en déclarant des variables?

    MErci d'avance.

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 410
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 410
    Par défaut
    Bonjour.

    Une façon de faire cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    dim tNomControl as variant:tNomControl=array("Champ1", "Champ2", "Champ3") 'crée un tableau de noms de contrôle
     
    dim iNomControl as long:for iNomControl=lbound(tNomControl) to ubound(tNomControl) 'Pour tous les contrôles du tableau
       Me![sousform1].Form.controls(tNomControl(iNomControl)).Locked = True 'Verrouille le contrôle
    next iNomControl
    Comme tu peux le voir, avec seulement 3 contrôles ce n'est pas vraiment une simplification.
    Cela devient vraiment rentable si tu as beaucoup de contrôles ou tu prévois d'en avoir beaucoup, ou si ta liste de contrôles est variable.
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

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

Discussions similaires

  1. [XL-2003] [VBA] Optimisation de code
    Par bat001 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 08/09/2012, 21h43
  2. [XL-2007] Optimisation code Excel VBA
    Par Jeromeric dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 03/11/2011, 20h20
  3. [VBA-E optimisation code] ameliorer la méthode pour cacher des lignes
    Par EvaristeGaloisBis dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 07/07/2008, 09h53
  4. VBA Optimisation de code, Select Case et requete SQL
    Par Secco dans le forum VBA Access
    Réponses: 7
    Dernier message: 06/05/2008, 21h05
  5. Optimiser code VBA
    Par willytito dans le forum VBA Access
    Réponses: 5
    Dernier message: 19/11/2007, 09h49

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