Alimentation d'une Listbox a partir d'une Macro

Bonsoir a tous , je suis pas expert en excel et je fais appel a votre aide a propos d'un point qui coince sur ma macro , en résumé je sais pas comment liée une macro avec une liste box afin que sur la listebox s'affichent des données (ici des noms ) , j'ai mit une condition IF et THEN pour changer la couleur du font de texte ,et je veut que le ELSE transfert les autres noms sur la LISTEBOX1 , voila le code comme vous le voyer :

Sub MS()

Dim rf As Range

Dim rc As Range

Dim cf As Range

Dim cr As Range

Application.ScreenUpdating = False

With Worksheets("Liste1")

Set rf = .Range("A1:A18")

Set rc = .Range("F1:J9")

For Each cf In rf '

For Each cr In rc

If cr.Value = cf.Value Then

cf.Font.ColorIndex = 8

Exit For

Else: ?????

End If 'fin de la condition

Next cr

Next cf

End With

End Sub

--

Merci d'avance pour votre aide !!!

Bonsoir,

Le Else ne sert à rien dans cette configuration :

Au départ de ta première boucle, donc après :

For Each cr In rf

tu mets une variable booléenne à True, par exemple Lb :

    Lb = True

Dans le test inclus dans ta boucle interne :

For Each cr In rc 
    If cr.Value = cf.Value Then 
        cf.Font.ColorIndex = 8
        Lb = False: Exit For
    End If
Next cr

Si le test est positif, tu colores et tu passes cette variable booléenne à False.

Juste après :

    If Lb Then
        'c'est là si variable restée à True que tu affectes à ListBox
    End If
Next cf

Soit tu utilises AddItem et tu affectes les éléments individuellement l'un après l'autre, quand ils se présentent,

soit tu les accumules dans un tableau que tu incrémentes au fur et à mesure pour l'affecter à la fin à la ListBox en utilisant la propriété List.

Mais tu n'as pas dit si ta ListBox était sur la feuille ou dans un Userform...

NB- Et pense à ll'utilisation des balises Code pour citer du code, et aussi à indenter le code en l'écrivant

Merci MFerrand pour la réponse , oui ma listebox et sur la même feuille , et je connais pas le code associé a Additem .

et pour tes conseil , je vais les prendre en compte Merci encore une fois

Re,

.ListBox1.AddItem cf.Value

NB- Tu es sous bloc With : Le point devant ListBox1 réfère à la feuille.

Ok ça marche , merci encore une fois , c'est très gentille de ta part

Rechercher des sujets similaires à "alimentation listbox partir macro"