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

Excel Discussion :

Définir l'élément d'un combobox lors de l'ouverture d'un userform [XL-2016]


Sujet :

Excel

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Ing construction
    Inscrit en
    Janvier 2019
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ing construction
    Secteur : Bâtiment

    Informations forums :
    Inscription : Janvier 2019
    Messages : 6
    Points : 5
    Points
    5
    Par défaut Définir l'élément d'un combobox lors de l'ouverture d'un userform
    Bonjour tout le monde!



    Je n'arrive pas à récupérer une ancienne valeur d'un combobox. Je m'explique :

    1) Dans un premier temps, l'utilisateur accède à un Userform à l'aide d'une macro.
    2) Ensuite, celui-ci opére un choix dans la combobox en question
    3) j'enregistre son choix dans une cellule (feuille 7 , ligne variable et colonne 5 (= E))

    Si l'utilisateur le souhaite, il peut réactiver l'userform pour modifier son choix.
    Lors de la réouverture, je souhaite récupérer ses choix précédents pour éviter de tout retaper.

    Pour cela, je souhaite, que, quand l'Userform s'ouvre, les combobox soient activés sur l'items précédemment choisis par l'utilisateur


    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
    23
    24
    25
    26
     
     
    Private Sub UserForm_Initialize()
     
              UserForm13.Controls("combobox" & Numcbx).List = Array("Zone 1", "Zone 2") ' ok fonctionne
     
     
    For Ligstring = 48 To 57
     
        ' ... Code précédent
     
        If Feuil7.Cells(Ligstring, 5) = "" Then
            UserForm13.Controls("combobox" & Numcbx).ListIndex = -1
        ElseIf Feuil7.Cells(Ligstring, 5) = "Zone 1" Then
            UserForm13.Controls("combobox" & Numcbx).ListIndex = 0
        ElseIf Feuil7.Cells(Ligstring, 5) = "Zone 2" Then
            UserForm13.Controls("combobox" & Numcbx).SetcurrentIndex (2)
        End If
     
        Numcbx = Numcbx + 1
     
       ' ... Code suite
     
    Next Ligstring
     
    End sub

    J'ai déjà essayé différents trucs trouvé sur le forum mais ça ne marche pas :

    => .SelectedItem
    => .ListIndex
    => SetCurrrentIndex (2)
    => ...


    Merci d'avance

    GevConstruC

  2. #2
    Expert confirmé
    Homme Profil pro
    Electrotechnicien
    Inscrit en
    Juillet 2016
    Messages
    3 240
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Electrotechnicien

    Informations forums :
    Inscription : Juillet 2016
    Messages : 3 240
    Points : 5 655
    Points
    5 655
    Par défaut
    Bonjour,

    Les valeurs étant enregistrées dans des cellules, à la réouverture du UserForm, chargez les valeurs des cellules dans les contrôles. Exemple:

    ComboBox1.Text = [A10]

    Cdlt

  3. #3
    Membre extrêmement actif
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 82
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Points : 12 422
    Points
    12 422
    Par défaut
    Bonjour
    1)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    j'enregistre son choix dans une cellule (feuille 7 , ligne variable et colonne 5 (= E))
    Et comment sais-tu quel rang a cette "ligne variable" dans laquelle tu as "sauvegardé" le choix fait précédemment ? Précise cet aspect
    2) utilise l'évènement Activate et non Initialize
    3) de quel chapeau magique sors-tu le membre SetcurrentIndex d'une combobox VBA/Excel ?
    Je n'accepte pas de demande d' "amitié" individuelle. Tout développeur est pour moi un ami.
    Je n'ouvre AUCUN classeur tiers (avec ou sans macro ******). Ne m'en proposez donc pas .

    ****** : Non, non ... un classeur .xlsx ne "peut" par exemple et entre autres pas contenir un activex (de surcroît invisible) , "bien sûr" ...

    Il est illusoire de penser que l'on saurait exprimer valablement et précisément en un langage (rigide) de développement ce que l'on peine à exprimer dans le langage naturel, bien plus souple.

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

Discussions similaires

  1. [XL-2007] Définir la Position du Pointeur de la Souris à l'ouverture d'un UserForm
    Par Zygomatic dans le forum Macros et VBA Excel
    Réponses: 27
    Dernier message: 14/08/2017, 23h23
  2. Problème Combobox lors de l'ouverture de mon formulaire
    Par tiny23 dans le forum Visual Studio
    Réponses: 4
    Dernier message: 28/03/2011, 10h14
  3. Sélectionner le premier élément d'une ComboBox
    Par deubal dans le forum Composants VCL
    Réponses: 2
    Dernier message: 21/11/2005, 10h32
  4. Réponses: 2
    Dernier message: 14/09/2005, 13h39
  5. Pré-sélectionner un élément d'une combobox
    Par delphim dans le forum Composants VCL
    Réponses: 4
    Dernier message: 17/06/2003, 15h26

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