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 :

probleme actualisation d'une combobox générée par macro.


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mai 2009
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 20
    Par défaut probleme actualisation d'une combobox générée par macro.
    bonjour j'ai créé une combobox sur une feuille excel et je souhaiterai que lorsque je choisi un élément de la liste et je voudrai que la cellule adjacente affiche une formule relative à l'élément séléctionné. (pour celà j'ai créer un tableau).
    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
    Sub userform_initialize()
        With feuil1
            Set S = .DropDowns.Add(.Cells(14, 2).Left, .Cells(14, 2).Top, .Range(Cells(14, 2), _
                                                                                 Cells(14, 3)).Width, .Cells(14, 2).Height)
        End With
     
        tl(0, 0) = "Générale SNCF"
        tl(0, 1) = "0.65*L+13*n+0.01*L*V+0.03*V^2"
        tl(1, 0) = "DB BR201"
        tl(1, 1) = "0,96+3.83*((V+20)/100)^2"
        tl(2, 0) = "DB BR211"
        tl(2, 1) = "1.37+4.95*(v/100)^2"
        tl(3, 0) = "DB BR212"
        tl(3, 1) = "1.39+4.95*(V/100)^2"
        tl(4, 0) = "DB BR215"
        tl(4, 1) = "2.80+3.48*(V/100)^2"
        S.Select
     
        S.Name = "CbLoco"
     
        S.List = Array(tl(0, 0), tl(1, 0), tl(2, 0), tl(3, 0), tl(4, 0))
    End Sub
    J'ai essayé de faire une commande actualize mais ça ne marche pas du tou, j'ai un message d'erreur.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Sub S_actualize()
     
    feuil1.Cells(14, 4).Value = tl(cbloco.ListIndex - 1, 1)
    End Sub
    Est-ce que quelqu'un a une idée, je n'ai pas envie de faire une userform, j'en ai déjà plusieurs.

  2. #2
    Membre expérimenté
    Profil pro
    Développeur informatique
    Inscrit en
    Mars 2008
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2008
    Messages : 155
    Par défaut
    Bonjour!
    C'est quoi le message d'erreur?
    Pour savoir exactement où ça plante mets un peu de debug dans ta procédure; Je suis preque sûre que ça plante quand cbloco.ListIndex vaut 0, non?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Sub S_actualize()
       debug.print cbloco.ListIndex - 1 
       debug.print  tl(cbloco.ListIndex - 1, 1)
       feuil1.Cells(14, 4).Value = tl(cbloco.ListIndex - 1, 1)
    End Sub

  3. #3
    Membre averti
    Inscrit en
    Mai 2009
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 20
    Par défaut le message d'erreur
    Alors il m'affiche ce message :
    erreur d'exécution '91':
    Variable d'objet ou de bloc With non définie
    en fait j'ai l'impression que dans la procédure S_change() il tient pas compte de la créatio du combobox créer dans l'initialisation.

    Je viens d'écrire le code suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Sub CbLoco_actualize()
     Debug.Print CbLoco.ListIndex - 1
       Debug.Print tl(CbLoco.ListIndex - 1, 1)
     
    feuil1.Cells(14, 4).Value = tl(CbLoco.ListIndex - 1, 1)
    End Sub
    Dans le module j'ai mis l'option explicit pour vérifier si les variables sont correctes et déclarer. En fait il a pas l'air de considérer S ou CbLoco comme un contrôle.

  4. #4
    Membre averti
    Inscrit en
    Mai 2009
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 20
    Par défaut
    Par contre en remplaçant CbLoco par S dans le débug, j'ai le message
    erreur '9':
    L'indice n'appartient pas à la sélection
    !!!
    Donc c'est une piste, je vais regarder

  5. #5
    Membre averti
    Inscrit en
    Mai 2009
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 20
    Par défaut Relance
    Alors ça ne marche toujours pas. En fait quand je lance le code manuellement, ça marche j'ai bien la formule correspondante qui s'affiche.
    Le problème c'est queje n'arrive pas à ce que la procédure se lance automatiquement quand on modifie la sélection de la combobox comme d'habitude dans un userform.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Sub CbLoco_actualize()
     Debug.Print S.ListIndex - 1
       Debug.Print tl(S.ListIndex - 1, 1)
     
    feuil1.Cells(14, 4).Value = tl(S.ListIndex - 1, 1)
    End Sub
    Pourtant j'ai bien le code qui stipule CbLoco_actualize.... Je suis perdu

  6. #6
    Membre Expert Avatar de Krovax
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 888
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 888
    Par défaut
    bonjour,
    Place toi dans le code de ton userform au dessus du code il y a deux zone de liste met ton curseur tout a a la fin dans la liste de gauche choisi ta liste et dans celle de droite choisi l'évènement qui t'interesse, Actualise n'existe pas.
    A mon avis ComboBox1_Change devrais te convenir mais tu peux peut être lui en préférer un autre

    :ps cette méthode fonctionne pour tous les événement sur des objets, feuille de calcule, classeur, combobox, checkbox,.......

Discussions similaires

  1. Probleme d'actualisation d'une combobox
    Par PascalStl dans le forum Général Python
    Réponses: 8
    Dernier message: 30/01/2014, 05h35
  2. Réponses: 14
    Dernier message: 03/07/2006, 16h55
  3. [GD] Enregistrer une image générée par PHP sur disque dur
    Par Alex01 dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 03/05/2006, 11h16
  4. [VBA-E]actualisation d'un tableau dynamique par macro
    Par illight dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 18/04/2006, 16h37
  5. [WORD] Inclusion d'une image (.tif) par macro
    Par guejo dans le forum VBA Word
    Réponses: 1
    Dernier message: 08/02/2006, 11h16

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