Vba augmenter RowSource

CDRW Messages postés 42 Statut Membre -  
ccm81 Messages postés 11033 Statut Membre -
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

  1. ccm81 Messages postés 11033 Statut Membre 2 434
     
    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
  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