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 :

Remplir une combobox [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Février 2012
    Messages
    277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2012
    Messages : 277
    Par défaut Remplir une combobox
    Bonjour tous monde,

    Voilà mon problème je souhaite remplir une combobox dans un userfrom tous marchais bien. J'ai changé la propriété style de ma combobox en passant de "0 - fmStyleDropDownCombo" à "2- fmStyleDropDownList" le faite de faire ça m'affiche ce message d'erreur:

    Nom : Pb vba.jpg
Affichages : 434
Taille : 22,4 Ko


    Le plus bizarre c'est que j'ai fait la même chose pour d'autres combobox et ça marche correctement. C'est la ligne 11 de ma macro qui est en cause. La cellule ciblé contient un chiffre entre 1 et 4.


    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
    27
    28
    29
    30
    31
    32
    Private Sub MODIF_Click()
     
        ligne = ActiveCell.Row
     
        InsertionModification2.Caption = "Modification Equipement"
        InsertionModification2.BoutonOK1.Caption = "Modifier"
     
        With InsertionModification2
            .ComboBoxVetus.Value = Sheets("PPA").Range("A" & ligne).Value
            .ComboBoxPrio.Value = Sheets("PPA").Range("B" & ligne).Value
            .ComboBoxcriti.Value = Sheets("PPA").Range("C" & ligne).Value
            .ComboBoxlot.Value = Sheets("PPA").Range("D" & ligne).Value
            .ComboBoxFDE.Value = Sheets("PPA").Range("E" & ligne).Value
            .TextBoxLDE.Value = Sheets("PPA").Range("F" & ligne).Value
            .ComboBoxprop.Value = Sheets("PPA").Range("G" & ligne).Value
            .TextBoxB.Value = Sheets("PPA").Range("H" & ligne).Value
            .TextBoxN.Value = Sheets("PPA").Range("I" & ligne).Value
            .TextBoxL.Value = Sheets("PPA").Range("J" & ligne).Value
            .TextBoxMES.Value = Sheets("PPA").Range("K" & ligne).Value
            .TextBoxDVT.Value = Sheets("PPA").Range("L" & ligne).Value
            .ComboBoxinterenv.Value = Sheets("PPA").Range("O" & ligne).Value
            .TextBoxISI.Value = Sheets("PPA").Range("P" & ligne).Value
            .TextBoxDP.Value = Sheets("PPA").Range("Q" & ligne).Value
            .ComboBoxtri.Value = Sheets("PPA").Range("R" & ligne).Value
            .TextBoxMT.Value = Sheets("PPA").Range("U" & ligne).Value
            .TextBoxAPC.Value = Sheets("PPA").Range("V" & ligne).Value
        End With
     
        InsertionModification2.Show
     
     
    End Sub

    Merci d'avance pour votre aide.

  2. #2
    Membre éprouvé
    Femme Profil pro
    Inscrit en
    Février 2009
    Messages
    174
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2009
    Messages : 174
    Par défaut
    Bonjour,

    Si j'ai bien compris, tu imposes une valeur à une combobox qui est limité au niveau de ses valeurs (il faut choisir parmi elles).

    Il me semble qu'il faut d'abord que la combobox soit chargées de ces valeurs parmi lesquelles tu pourras choisir.

    Ex :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Me.ComboBox1.AddItem 1
    Me.ComboBox1.AddItem 2
    Me.ComboBox1.AddItem 3
    Me.ComboBox1.AddItem 4
     
    Me.ComboBox1.Value = 2
    Est-ce que la Combobox est bien chargée avant de lancer la procédure ?
    Elise

  3. #3
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Février 2012
    Messages
    277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2012
    Messages : 277
    Par défaut
    Oui c'est ça j'impose la valeur de la combobox. (Avant l’initialisation il me semble). Mais ce que je ne comprends pas c'est pourquoi il y a qu'une seule combobox qui ne marche pas. Si ma méthode est mauvaise ça devrait marcher pour aucune.

    Voici mon initialisation au cas ou:

    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()
    Dim ligne As Long
     
        ComboBoxVetus.List() = ActiveWorkbook.Sheets("Table Validation").Range("I2:I5").Value
        ComboBoxPrio.AddItem ("1")
        ComboBoxPrio.AddItem ("2")
        ComboBoxPrio.AddItem ("3")
        ComboBoxcriti.List() = ActiveWorkbook.Sheets("Table Validation").Range("L2:L5").Value
        ComboBoxlot.List() = ActiveWorkbook.Sheets("Table Validation").Range("N2:N15").Value
        ComboBoxinterenv.List() = ActiveWorkbook.Sheets("Table Validation").Range("V2:V10").Value
        ComboBoxtri.List() = ActiveWorkbook.Sheets("Table Validation").Range("T2:T6").Value

  4. #4
    Membre éprouvé
    Femme Profil pro
    Inscrit en
    Février 2009
    Messages
    174
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2009
    Messages : 174
    Par défaut
    Bonjour,

    Comment est complété la cellule :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sheets("PPA").Range("C" & ligne).Value
    Es-tu sûr qu'il s'agit d'un chiffre et non d'un chiffre en format texte pour VBA ?

  5. #5
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Février 2012
    Messages
    277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2012
    Messages : 277
    Par défaut
    Elle est remplie à l'aide d'une combobox dont l'initoialisaiton est :

    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()
    Dim ligne As Long
     
        ComboBoxVetus.List() = ActiveWorkbook.Sheets("Table Validation").Range("I2:I5").Value
        ComboBoxPrio.AddItem ("1")
        ComboBoxPrio.AddItem ("2")
        ComboBoxPrio.AddItem ("3")
        ComboBoxcriti.List() = ActiveWorkbook.Sheets("Table Validation").Range("L2:L5").Value
        ComboBoxlot.List() = ActiveWorkbook.Sheets("Table Validation").Range("N2:N15").Value
        ComboBoxinterenv.List() = ActiveWorkbook.Sheets("Table Validation").Range("V2:V10").Value
        ComboBoxtri.List() = ActiveWorkbook.Sheets("Table Validation").Range("T2:T6").Value
    Ça correspond à la ligne 8. Le format des cellule L2:L5 sont en standard

  6. #6
    Membre éprouvé
    Femme Profil pro
    Inscrit en
    Février 2009
    Messages
    174
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2009
    Messages : 174
    Par défaut
    Si tu ajoutes dans ta procédure Private Sub MODIF_Click(), la ligne suivante et que tu fais un F8 (pas à pas)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Test = Sheets("PPA").Range("C" & ligne).Value
    juste avant ta ligne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .ComboBoxcriti.Value = Sheets("PPA").Range("C" & ligne).Value

    En passant la souris, la valeur de Test est :
    Test = 4
    ou
    Test = "4"
    ???

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

Discussions similaires

  1. [Spread designer] Remplir une combobox
    Par valoji dans le forum Bases de données
    Réponses: 1
    Dernier message: 31/03/2006, 11h32
  2. [VBA-E] Comment remplir une ComboBox ?
    Par yaya54 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 07/03/2006, 09h03
  3. [C#] Remplir une combobox avec le champs d'une table Access
    Par Damsou dans le forum Windows Forms
    Réponses: 4
    Dernier message: 23/06/2005, 15h31
  4. [VB.NET] Remplir une ComboBox avec une requete sql
    Par graphicsxp dans le forum Windows Forms
    Réponses: 6
    Dernier message: 22/03/2005, 15h29
  5. Réponses: 2
    Dernier message: 26/07/2004, 13h34

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