Programmation VBA Excel - utilisation Noms [Résolu]

cm - 13 oct. 2017 à 12:06 - Dernière réponse : ccm81 8202 Messages postés lundi 18 octobre 2010Date d'inscription 11 décembre 2017 Dernière intervention
- 13 oct. 2017 à 14:06
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.
Afficher la suite 

2 réponses

Répondre au sujet
fabien25000 265 Messages postés mercredi 5 octobre 2016Date d'inscription 16 octobre 2017 Dernière intervention - Modifié par fabien25000 le 13/10/2017 à 13:55
0
Utile
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
Commenter la réponse de fabien25000
ccm81 8202 Messages postés lundi 18 octobre 2010Date d'inscription 11 décembre 2017 Dernière intervention - 13 oct. 2017 à 14:06
0
Utile
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
Commenter la réponse de ccm81