Vba augmenter RowSource

CDRW Messages postés 37 Date d'inscription   Statut Membre Dernière intervention   -  
ccm81 Messages postés 10909 Date d'inscription   Statut Membre Dernière intervention   -
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 10909 Date d'inscription   Statut Membre Dernière intervention   2 433
 
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
boomer
 
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