VBA - Ajouter valeurs dans liste déroulante

RussellD Messages postés 60 Statut Membre -  
lermite222 Messages postés 9042 Statut Contributeur -
Bonjour à tous,

je travaille sur excel 2003 et programme mes macros en VBA

J'ai sur ma feuille une liste déroulante dont la source est la plage de cellules (A1:A5). Grace à un textbox et un bouton de commande, je peux inserer une cellule en haut de la colonne A (en A1) et y mettre une valeur, avec le code :

Worksheets("Feuil1").Cells(1,1).Insert
Worksheets("Feuil1").Cells(1,1).Select
With Selection
.Value = TextBox1.Value
End With


Le problème est que la source de la liste déroulante se décale lors de l'insertion de cellule, et passe à (A2:A6)... Comment faire pour éviter cela, et faire en sorte que la plage-source devienne (A1:A6), de manière à incorporer la nouvelle valeur?

Merci d'avance

Cordialement

1 réponse

  1. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    Bonjour,
    Il y a peut-être plus simple mais j'ai pas trouvé..
    Dim A As String
    Dim B As Range, TB, C As Range
        A = ComboBox1.ListFillRange
        TB = Split(A, ":")
        Set C = Range(TB(1))
        Set B = Range(Cells(1, 1), Cells(C.Row + 1, 1))
        ComboBox1.ListFillRange = B.Address

    A+
    0