Liste déroulante dynamique

Bonjour,

J'ai déjà posté un sujet mais qui portait sur d'autres problèmes (qui ont été résolus d'ailleurs) donc je me permet de refaire un autre sujet, j'espère ne pas être hors charte

Voilà, je travaille sur un formulaire de location auto, j'aimerai faire une liste déroulante dynamique sur le formulaire PRET, c'est à dire que j'aimerai ne pas limiter la liste d'employés ou la liste des autos à une plage de données, mais que par exemple dès que j'inscris un nouvel employé, cet employé apparait dans la liste déroulante

Private Sub userForm_Initialize()

    ComboBox1.List = Worksheets("employes").Range("C5:C20").Value
      ComboBox1.ListIndex = 0
     ComboBox2.List = Worksheets("voitures").Range("C5:C15").Value
    ComboBox2.ListIndex = 0

End Sub

J'ai essayé de faire une boucle ou de faire une fonction qui calculait le nombre d'employés mais à chaque fois ça me faisait une erreur 1004

J'apprécie toute aide qui me sera apportée

Bonjour

Il suffit de :

  • mettre chaque liste sous forme de tableau
  • nommer la colonne adéquate de chaque tableau, hors titre, par exemple employes et voiture et de mettre dans le code

l'allongement du tableau et de ses colonnes étant automatiquement géré, tout suivra...

Bonjour,

Merci de ta réponse, j'ai essayé de nommer (par le gestionnaire de noms je crois je suis pas sûr) mais ça donne un code erreur quand j'essaye de faire marcher le formulaire

RE

Qu'obtiens-tu comme plage associée au nom dans le gestionnaire de noms ?

Edi t: au temps pour moi

ComboBox1.List = Range("employes").Value

J'obtiens ça :

pwhl8dc

Re

Tu as sélectionné l'en-tête et non la colonne hors titre donc l'inverse.

Tu devrais avoir =Tableau1[[Nom ]]

Re

Tu as sélectionné l'en-tête et non la colonne hors titre donc l'inverse.

Oui mais si je sélectionne la colonne du tableau (et que je lui donne un nom), elle ne devient pas dynamique

j'ai fait un test, il n'a pas pris en compte le nouvel employé inscrit

EDIT : non t'as raison ça à l'air de marcher !!

MERCI

RE

Ton fichier en retour : cela marche

14testv2.xlsm (35.86 Ko)

Re

Tu as intérêt à modifier ainsi l'ajout d'employé par formulaire

Private Sub Btn_Inscrip_OK_Click()
Dim i As Integer, num As Integer
Dim prop As Integer, k As Integer
Dim maligne As Range
init
nom = TextBox1.Text
prenom = TextBox2.Text
prop = 0
If nom = "" Or prenom = "" Then prop = 1
With employe.ListObjects("tableau1")
    For i = 1 To .ListRows.Count
        If .ListRows(i).Range.Cells(1, 2).Value = nom And .ListRows(i).Range.Cells(1, 3).Value = prenom Then prop = 1: Exit For
    Next i
    If prop = 0 Then
        .ListRows.Add
        num = 9 + .ListRows.Count
        Set maligne = .ListRows(.ListRows.Count).Range
        maligne(1, 1) = num
        maligne(1, 2) = nom
        maligne(1, 3) = prenom
        maligne(1, 4) = 0
        MsgBox nom & " " & prenom & " a ete enregistre"
        Unload Me
    Else
        MsgBox "Informations incomplètes" & vbCr & "ou employe deja inscrit"
    End If
End With
End Sub

oh merci beaucoup pour ce complément d'informations

EDIT : par contre, je vois pas de différences entre l'ancien et le nouveau code, dans tout les cas ça marche

Bonjour,

Une autre approche pour conserver l'historique des prêts.

Ceuzin

14pretvoiture.xlsm (126.46 Ko)

Bonjour

oh merci beaucoup pour ce complément d'informations

EDIT : par contre, je vois pas de différences entre l'ancien et le nouveau code, dans tout les cas ça marche

Déjà cela évite de chercher la dernière cellule par une boucle, ce qui de façon générale n'est pas la bonne méthode, même si sur un petit tableau cela est peu perceptible, et en plus ici avec un tableau , on n'a même plus besoin de chercher.

Le reste tire profit du tableau : on pourrait même se baser sur les noms des colonnes mais comme tu as des espaces en trop à Nom par exemple, j'ai pris l'ordre des colonnes.

J'ai aussi ajouté une sortie de boucle si l'employé existe : inutile d'aller jusqu'en fin de liste... là aussi avec peu de lignes ce n'est pas perceptible mais c'est plus logique...

Rechercher des sujets similaires à "liste deroulante dynamique"