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 :

utiliser une liste déroulante dans un userform


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Femme Profil pro
    retraité
    Inscrit en
    Septembre 2019
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 84
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2019
    Messages : 6
    Par défaut utiliser une liste déroulante dans un userform
    Pour la gestion d'un compte, j'ai besoin de pouvoir choisir un "objet" dans une liste(selectrow (N5:N25) et d'afficher cet "objet" dans la "cellule active" avant de pouvoir inscrire le "montant" dans la cellule voisine.
    Tout ceci en sachant que la liste des "objet" est figée, mais que je puisse ajouter directement dans mon "userform" un objet qui ne serait pas dans la liste sans modifier celle-ci

  2. #2
    Membre Expert
    Avatar de Igloobel
    Homme Profil pro
    Développeur ERP - VBA et Formateur bureautique
    Inscrit en
    Septembre 2005
    Messages
    1 871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur ERP - VBA et Formateur bureautique
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 871
    Billets dans le blog
    1
    Par défaut
    Bonjour,
    Citation Envoyé par benajoel Voir le message
    ...Tout ceci en sachant que la liste des "objet" est figée, mais que je puisse ajouter directement dans mon "userform" un objet qui ne serait pas dans la liste sans modifier celle-ci
    C'est un truc un peu "batard" cependant ce que j'ai fais se raprochant de ce que tu veux est :

    -avec liste de validation
    dans la liste de validation sélectionner l'onglet "Alerte d'erreur"
    puis décocher la case à cocher : "Quand les données non valides sont tapées"

    je n'ai jamais un truc de ce genre sous un UserForm

    ceci reste donc qu'une piste

    A bientôt

  3. #3
    Membre Expert Avatar de Thautheme
    Homme Profil pro
    salarié
    Inscrit en
    Août 2014
    Messages
    1 373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : salarié

    Informations forums :
    Inscription : Août 2014
    Messages : 1 373
    Par défaut
    Bonjour Benajoel, Igloobel, bonjour le forum,

    Un proposition à adapter à ton cas...
    Ce premier code à placer dans le composant de l'onglet concerné, ouvrira l'UserForm au double-clic dans une cellule :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    UserForm1.Show
    End Sub
    Le code ci-dessous à placer dans le composant de l'UserForm :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Sub UserForm_Initialize() 'a l'initialisation de l'UserForm1
    Dim O As Worksheet 'déclare la variable O
     
    Set O = Worksheets("Feuil1") 'éfinit l'onglet O (à adapter à ton cas)
    Me.ComboBox1.List = O.Range("N5:N25").Value 'alimente la ComboBox1
    End Sub
     
    Private Sub CommandButton1_Click() 'au clic du bouton
    ActiveCell.Value = Me.ComboBox1.Value 'renvoie la valeur de la ComboBox1 dansa cellule active
    ActiveCell.Offset(0, 1).Select 'sélectionne la cellulà droite de la cellule active
    End Sub

  4. #4
    Membre du Club
    Femme Profil pro
    retraité
    Inscrit en
    Septembre 2019
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 84
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2019
    Messages : 6
    Par défaut
    Bonjour Thautheme, salut le forum. merci pour la réponse, j'ai toujours mon pb, je voudrai juste avoir la commende qui, sur clic dans la liste, colle le choix sur lequel j'ai cliqué dans une variable (par exemple la variable "choixdeliste"). Avant le choix j'ai tout ok, aprés le choix, pareil , mais juste le click ???
    merci

  5. #5
    Membre Expert Avatar de rvtoulon
    Homme Profil pro
    Agent Technique
    Inscrit en
    Mars 2009
    Messages
    1 042
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Agent Technique
    Secteur : Santé

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 042
    Par défaut
    Bonjour,
    s'il sagit d'une Listbox dans un Userform, alors utiliser l'évènement Change ou Click de la listbox.

    l'exemple ci-dessous affiche dans un msgbox la valeur cliquée d'un listbox:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub ListBox1_Click()
    MsgBox Me.ListBox1.Value
    End Sub

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 16/06/2016, 15h24
  2. [AC-2003] Utiliser une liste déroulante dans un formulaire
    Par Achille_60 dans le forum VBA Access
    Réponses: 8
    Dernier message: 21/03/2014, 10h03
  3. Utilisation des choix d'une liste déroulante dans un code VBA
    Par mrshoother dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 02/02/2013, 23h20
  4. Réponses: 4
    Dernier message: 03/02/2011, 15h59
  5. Réponses: 2
    Dernier message: 30/11/2010, 09h21

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