Programmation VBA Excel - utilisation Noms

Résolu
cm -  
ccm81 Messages postés 11033 Statut Membre -
Dans une macro, j'affiche une boite de dialogue contenant un contrôle ListBox.
Sur le contrôle ListBox, j'indique la propriété ROWSOURCE avec le nom d'une plage de cellule.
Cette plage est une liste de noms et adresses.
Je peux rajouter ou supprimer des noms.
Je souhaite pouvoir modifier le nom de la plage pour que çà corresponde à la nouvelle liste et pouvoir ensuite l'utiliser dans le contrôle LISTBOX.

2 réponses

  1. fabien25000 Messages postés 697 Statut Membre 59
     
    Bonjour,

    dans ce cas, il ne faut pas utiliser la propriété rowsource de la listbox mais écrire un code qui va chercher la plage adéquate et remplir la listbox avec une boucle et la fonction additem
    Un exemple :
        Dim I, DerLigF As Integer
        Dim VarItem As String
    
    DerLigF = Worksheets("TABLEAU").Range("A" & Rows.Count).End(xlUp).Row
        For I = 2 To DerLigF
            If (Worksheets("TABLEAU").Range("A" & I) <> "") Then
                 VarItem = Worksheets("TABLEAU").Range("A" & I)
                 lbRef.AddItem (VarItem)
            End If
        Next I 


    Quand on ne dispose que d'un marteau tous les problèmes ressemblent à un clou
    0
  2. ccm81 Messages postés 11033 Statut Membre 2 434
     
    Bonjour à tous les deux

    Ou alors, tu nommes ta plage de façon dynamique (avec DECALER) et tu passes son adresse à la propriété RowSource de la listbox
    http://www.cjoint.com/c/GJnmfMXrpbB

    Cdlmnt
    0