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é
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    191
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 191
    Par défaut Optimisation de code
    Bonjour,

    dans mon projet je fais appel à un userform contenant un nombre important de label (environ 60).
    L'idée serait d'afficher sur chacun de ces labels une valeur différente inscrite dans une cellule de tableau excel. Et pour aller plus vite lors du codage j'aimerais utiliser une boucle for sur le label et sur la cellule de la worksheet.
    Exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Dim i as integer
    for i=1 to 60
        Label(i).Caption = WorkSheets(1).Cells(i,1)
    next i
    Je sais que ce code ne marchera pas mais je n'arrive pas à trouver l'astuce qui conviendrai.
    Pourriez-vous m'aider svp ???

    Merci d'avance!

  2. #2
    Membre émérite
    Inscrit en
    Avril 2007
    Messages
    667
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Avril 2007
    Messages : 667
    Par défaut
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Dim Ctrl As Control
     
    For Each Ctrl In UserForm1.Controls
     
    If TypeOf Ctrl Is MSForms.Label Then
    Ctrl.Caption = "ce que tu veux"
    End If
     
    Next Ctrl

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    191
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 191
    Par défaut
    Merci beaucoup pour cette astuce. J'était loin de me douter que c'était aussi "tordu"
    Je viens de l'essayer et il fonctionne parfaitement.Ca me servira sur un autre projet en cours.
    Cependant j'aurais aimé pouvoir choisir suivant l'indice "i" le label sur lequel je souhaite afficher une valeur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Dim i as integer
    for i=1 to 60
        Label(i).Caption = WorkSheets(1).Cells(i,1)
    next i
    Comment faire ??

  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 567
    Détails du profil
    Informations personnelles :
    Âge : 62
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 567
    Par défaut
    tu peux aussi. là je suis pressé, mais cherche controls sur F1
    ça fait kekchose du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    for i = 1 to 3
    me.controls("nomdemobnlabel" & i).caption = cells(i,1).value
    bien sur avant, il faut que tu ai baptisé tout tes label
    nomdemonlabel1, nomdemonlabel2 ect ect

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    191
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 191
    Par défaut
    L'aide F1 n'apport rien, c'est pourquoi je me suis tourné vers le forum...
    En tous cas le code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    for i = 1 to 3
    me.controls("nomdemobnlabel" & i).caption = cells(i,1).value
    fonctionne parfaitement Ca va pas mal soulager le code !!!

    Merci pour tout !

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

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