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 :

Aucune valeur sélectionnée dans le cadre du comboBox ? [XL-2003]


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 6
    Points : 5
    Points
    5
    Par défaut Aucune valeur sélectionnée dans le cadre du comboBox ?
    Bonjour à tous,

    Je cherche à avoir pendant l'exécution d'une macro avec Excel 2000 en VBA un menu déroulant qui me permet de choisir une feuille d'un classeur.
    Je fais cela au moyen d'une comboBox et d'un bouton de commande pour sélectionner la feuille désirée. Le code qui suit, placé dans un userForm du classeur possédant la macro, charge bien les feuilles du classeur et semble permettre la sélection d'une feuille puisqu'elles sont en surbrillance bleu au survol du curseur mais le cadre du comboBox reste désespérément vide lorsque je sélectionne une feuille du menu déroulant lors du déroulement du programme.
    Je n'ai pas non plus de valeur par défaut dans le cadre, il reste toujours blanc !
    Que devrais-je faire pour que cela fonctionne ?

    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
     
    Public Sub ComboBox1_Initialize()
    For i = 1 To Sheets.Count
       Me.ComboBox1.AddItem Sheets(i).Name
    Next i
    End Sub
     
    Public Sub ComboBox1_DropButtonClick()
    ComboBox1.Clear
    For i = 1 To Sheets.Count
      ComboBox1.AddItem ("feuil" & i)
    Next i
    End Sub
     
    Public Sub CommandButton1_Click()
    Unload Me
    Call AfficheSelect(ComboBox1.value)
    End Sub

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    14
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2010
    Messages : 14
    Points : 32
    Points
    32
    Par défaut
    Salut Mandrake,

    Essaye de populer ta combo box avec l'initialisation/ou l'activation de ton userform, je n'ai plus la version 2000 de xls mais en tous cas sur la version 2007 il n'y a pas d' event initialize rattaché aux combo box.

    d'où le code suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Public Sub Userform_Initialize()
    For i = 1 To Sheets.Count
       Me.ComboBox1.AddItem Sheets(i).Name
    Next i
    End Sub
    ou bien:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub UserForm_Activate()
    For i = 1 To Sheets.Count
       Me.ComboBox1.AddItem Sheets(i).Name
    Next i
    End Sub
    Dans le premier cas tu remplis ta combo box uniquement quand tu load ton userform, dans la seconde tu la remplis à chaque fois que tu l'actives.

    A++

    Etienne D'Andrea
    http://www.doyoubuzz.com/etienne-dandrea

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 6
    Points : 5
    Points
    5
    Par défaut
    Je te remercie pour ta réponse Wheedle mais cette solution ne fonctionne pas.
    Je suis un grand débutant puisque c'est ma première Macro. Je reste bloqué dans ma macro juste à cause de cela. Mon comboBox me présente bien les différentes feuilles dans son menu déroulant mais ne retient pas le choix dans le cadre d’affichage du comboBox, tout comme je n’ai pas valeur par défaut.
    En fait je ne suis pas sûr qu'il faille non plus initialiser. J'ai essayé cela car cela ne fonctionnait pas sans.
    Si déjà j'avais une solution qui marche avec XL 2003 ou XL 2007 ; je pourrais comprendre mon erreur et l'adapter à ma version.

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    14
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2010
    Messages : 14
    Points : 32
    Points
    32
    Par défaut
    Mandrake,


    Garde uniquement cette partie:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Public Sub Userform_Initialize()
    For i = 1 To Sheets.Count
       Me.ComboBox1.AddItem ("feuil" & i)
     
    Next i
    End Sub
    Laisse tomber la sub:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Public Sub ComboBox1_DropButtonClick()
    Celle-ci signifie qu'à chaque fois que tu clicks sur le bouton dérouler tu vide ta liste et la re-remplis, donc même si tu avais sélectionné une valeur avant, elle est perdue.
    De plus, dans la dernière partie de ton code tu unload ton userform avant d'appeler une sub qui affiche la valeur. Inverse les lignes de code comme ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Public Sub CommandButton1_Click()
    Call AfficheSelect(ComboBox1.value)
    Unload Me
    End Sub
    Si tu unload ton userform tu le supprime de la mémoire avec toutes ce qu'il contient.
    J'espère que ca ira comme ca.


    A++

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 6
    Points : 5
    Points
    5
    Par défaut
    Bonjour Wheedle,

    C'est super ça marche !!
    Dans ta réponse tu as été non seulement clairvoyant mais aussi pédagogue puisque tu m'a permis de comprendre mon erreur.
    C'est du grand art, merci beaucoup !
    Je mets la discussion en résolu.

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

Discussions similaires

  1. [XL-2010] Récuperer la valeur sélectionner dans ComboBox du ruban Excel
    Par zdz16 dans le forum Excel
    Réponses: 1
    Dernier message: 22/10/2013, 18h43
  2. Réponses: 2
    Dernier message: 18/08/2011, 21h46
  3. Réponses: 5
    Dernier message: 06/06/2011, 11h10
  4. Récupérer ancienne valeur sélectionnée dans une combobox
    Par alys56 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 09/07/2008, 17h11
  5. Valeur sélectionnée dans un Combobox
    Par Kimahri01 dans le forum C++
    Réponses: 5
    Dernier message: 15/04/2008, 17h34

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