Vba augmenter RowSource

Fermé
CDRW Messages postés 37 Date d'inscription samedi 23 avril 2011 Statut Membre Dernière intervention 20 juillet 2018 - 7 mars 2012 à 15:46
ccm81 Messages postés 10907 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 24 janvier 2025 - 8 mars 2012 à 09:59
Bonjour,

J'ai crée une petite application qui en fait à partir d'une liste d'objets donne les caractéristiques de cet objet. J'ai aussi rajouté le fait qu'on puisse rajouter des objets et ses caractéristiques mais j'ai un problème :

J'ai mis ma liste d'objet dans un menu déroulant avec RowSource (plage) et j'aimerai que quand je rajoute un objet cette plage augmente car sinon l'objet récemment ajouté ne se trouve pas dans la liste.
J'ai mis une très grande valeur pour le Rowsource mais ca donne des blancs dans le menu déroulant donc je cherche mieux
Merci davance.

2 réponses

ccm81 Messages postés 10907 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 24 janvier 2025 2 430
Modifié par ccm81 le 8/03/2012 à 10:00
bonjour

le plus simple est de définir plage de façon 'dynamique'
ex pour plage = "A1:Ax" où x peut varier
insertion/nom/definir
nom : plage
=DECALER(Feuil1!$A$1;0;0;NBVAL(Feuil1!$A:$A);1)

bonne suite
2
salut cdrw,

Petit exemple à adapter bien sur mais si ça peut t'aider :

Dim Plage As String
With Sheets("Database")
    Plage = .Range("A1:A" & .Range("A65536").End(xlUp).Row).Address
End With
ComboBox1.RowSource = "Database!" & Plage

ou
With Sheets("Database")
    ComboBox1.List = .Range("A1:A" & .Range("A65536").End(xlUp).Row).Value
End With

ou bien encore
Dim Plage As Range

With Sheets("Database")
    Set Plage = .Range("A1:A" & .Range("A65536").End(xlUp).Row)
End With

ComboBox1.List = Plage.Value


bon courage
-1