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 :

Combobox - Formulaire - Donnees modifiable [XL-2007]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Janvier 2008
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 76
    Par défaut Combobox - Formulaire - Donnees modifiable
    Bonjour a tous,

    Probleme a resoudre: Inserer des donnees d'une combobox fonction des donnees d'une liste variable (Plus de machines, plus de reference, moins de machines, moins de reference)


    J'ai creer un fichier excel pour gerer des equipements dans ma societe. A vue du petit nombre, je ne souhaite pas utiliser access mais VBA.

    Dans un premier fichier, je saisie les donnees des machines (famille, tarifs etc...).

    Dans ce premier fichier, j'ai une combobox (Oui/ Non) a selectionner. Celle est fixe, donc mon code fonctionne.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub ComboBox1_DropButtonClick()
    ComboBox1.List = Sheets("Table").Range("o2:o3").Value
    End Sub


    Par contre, dans un deuxieme formulaire, je souhaite selectionner les references machines relatives a ce premier fichier (qui s'accroit au fur et a mesure que je saisie mes informations sur mes machines).

    Et, la je ne sais pas developper le code ... J'ai tente de m'inspirer de celui-ci mais en vain.



    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
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
     'Les données sont dans les colonnes A à D, d'un onglet nommé "Base".
    'La procédure effectue un remplissage conditionnel des Combobox en fonction de
    'ce qui est sélectionnée dans le contrôle précédent:
    'La sélection du ComboBox1 (données colonne A) définit le contenu du ComboBox2 (données colonne B) ,
    'La sélection du ComboBox2 définit le contenu du ComboBox3 (données colonne C) …etc...
    '
     
    Private Sub UserForm_Initialize()
        'Définit la feuille contenant les données
        Set Ws = Worksheets("Table")
        'Définit le nombre de lignes dans la colonne A
        nblignes = Ws.Range("b65536").End(xlUp).Row
     
        'Remplissage du ComboBox1
        Alim_Combo 1
     
     
     
    End Sub
     
     
    Private Sub ComboBox1_Change()
        'Remplissage Combo2
        Alim_Combo 1, ComboBox1.Value
    End Sub
     
    'Procédure pour alimenter les ComboBox
    Private Sub Alim_Combo(CbxIndex As Integer, Optional Cible As Variant)
        Dim j As Integer
        Dim Obj As Control
     
        'Définit le ComboBox à remplir
        Set Obj = Me.Controls("ComboBox" & CbxIndex)
        'Supprime les anciennes données
        Obj.Clear
     
        'alimente le Combobox initial (Combobox1)
        If CbxIndex = 1 Then
            'Boucle sur les lignes de la colonne A (à partir de la 3eme ligne)
            For j = 3 To nblignes
                Obj = Ws.Range("b" & j)
                'Remplit le ComboBox sans doublons
                If Obj.ListIndex = -1 Then Obj.AddItem Ws.Range("b" & j)
            Next j
           End If
     
       'Enlève la sélection dans le ComboBox
       Obj.ListIndex = 0
    End Sub

    Merci de votre contribution!

  2. #2
    Membre confirmé
    Inscrit en
    Janvier 2008
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 76
    Par défaut
    Trouver !!!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub ComboBox1_DropButtonClick()
     
    alpha = Worksheets("table").Range("b1500").End(xlUp).Row
    ComboBox1.List = Worksheets("Table").Range("B3:B" & 1 + alpha).Value
     
    End Sub

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

Discussions similaires

  1. [Formulaire]liste modifiable avec peu de données
    Par alassanediakite dans le forum IHM
    Réponses: 6
    Dernier message: 16/04/2007, 13h10
  2. [Formulaire]liste modifiable & origine source
    Par modus57 dans le forum IHM
    Réponses: 4
    Dernier message: 13/04/2007, 14h02
  3. Réponses: 6
    Dernier message: 23/02/2007, 10h56
  4. données du formulaire non-modifiables
    Par vautour29 dans le forum Access
    Réponses: 14
    Dernier message: 28/07/2006, 21h42
  5. Réponses: 5
    Dernier message: 30/09/2005, 16h42

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