Affichage dans des labels

Je cherche à faire afficher des chaînes de caractères dans chaque labels nommées "Li" (i = 1 à 20).

Elles sont dépendantes d'une Listbox nommée "SelectName"

La listbox est faite en cherchant la derniere ligne d'un tableau par la variable LastLig (Cf UserForm Initialize) et mon problème se trouve dans la boucle For-Next qui demande un débogage que je ne comprends pas.

' Création de la liste dans la Listbox "SelectName"
Private Sub UserForm_Initialize()
    Dim LastLig As Long             
        With Sheets("Info_Clients")
            LastLig = .Range("A" & Rows.Count).End(xlUp).Row
            Me.SelectName.List = .Range("A3:A" & LastLig).Value
        End With
End Sub

' Affichage des données apès avoir sélectionné le bon client
Private Sub SelectName_Change()
Dim Lig As Long                 ' Choix de la bonne ligne
Dim i As Integer
    ' Le tableau commence toujours à partir de la ligne 3 vide dans INFO CLIENTS
    Lig = 3 + Me.SelectName.ListIndex
        With Sheets("Info_Clients")
            For i = 1 To 20
            Me.Controls("L" & i) = .Cells(Lig, i+1).Value
            'Me.L2 = .Range("C" & Lig).Value >>> Cette méthode fonctionne mais est très lourde  ::~  
            Next i
        End With
End Sub

Bonjour

A quoi correspond les objets Controls("L" & i) qui sont dans l'USF ? Des labels ?

Si oui, le fait de cliquer dans sur une donnée de la listbox Selectname va ajouter une donnée dans tous les labels

Le mieux serait de voir le fichier

Amicalement

Bonjour

Bonjour Dan

Cela fonctionne bien

C'est sur qu'avec le fichier cela serait mieux

Le voici

Sur la page d'accueil, cliquez sur Fiche Client pour faire apparaître la USF.

Thx

7brouillon.xlsm (84.22 Ko)

Bonjour

Pas de souci la macro (avec la boucle) fonctionne

' Affichage des données apès avoir sélectionné le bon client
Private Sub SelectName_Change()
Dim Lig As Long                 ' Choix de la bonne ligne
Dim i As Integer
    ' Le tableau commence toujours à partir de la ligne 3 vide dans INFO CLIENTS
    Lig = 3 + Me.SelectName.ListIndex
        With Sheets("Info_Clients")
            For i = 1 To 37
              Me.Controls("L" & i) = .Cells(Lig, i + 1).Value
            'Me.L2 = .Range("C" & Lig).Value
            Next i
        End With
End Sub

Hello,

C'est bon ça fonctionne bien mais seulement après avoir rebooté le PC.

Mystère

Merci quand même pour la vérif.

++

Re,

Merci de cloturer ton fil si tu en as terminé. Clique sur le V vert à coté du bouton EDITER. Si souci, regarde dans le post de BAnzai c'est montré en grand.

Amicalement

Rechercher des sujets similaires à "affichage labels"