Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2016 CREER une boucle pour données dans un userform

drdege

XLDnaute Nouveau
Bonjour,
Pourriez-vous me rensigner?
un petit problème se pose à moi.
j'ai une liste de nom
Cette liste est reprise dans un userform de sélection
A partir de cette liste je dois programmer certaines actions

les données de la liste sont entrées par CBxx.caption

xx est un numero incrémenté de 1 à un nombre reprenant la totalité des données de la liste

Ma solution actuelle est de créer

Sub CButtonselaucun_Click()
'DESélectionne tous les membres
CB1.Value = False
CB2.Value = False
CB3.Value = False
CB4.Value = False
CB5.Value = False
CB6.Value = False
CB7.Value = False
CB8.Value = False
CB9.Value = False
CB10.Value = False
CB11.Value = False
CB12.Value = False
CB13.Value = False
CB14.Value = False
CB15.Value = False
CB16.Value = False
CB17.Value = False
CB18.Value = False
CB19.Value = False
End Sub
La solution idéale serait de travailler avec une boucle FOR NEXT

Sub CommandButton1_Click()
Dim CB As String
Dim Num As Integer
Dim NumDB As Integer
Dim NumFN As Integer
For Num = NumDB To NumFN
CB = "CB" & Num
If CB.Value = False
End If
End Sub

Mais cela ne marche pas

EN vous remerciant de vous pencher sur ce problmèe
 

Pièces jointes

  • testdg.xlsm
    22.5 KB · Affichages: 66

jecherche

XLDnaute Occasionnel
Bonjour,

Voir si ça convient ...
Code:
Sub CButtonseltout_Click()
Dim X As Integer
For X = 1 To 60
    Me.Controls("CB" & X) = True
    Me.Controls("CB" & X).Caption = Sheets("Ftravail").Range("B" & X + 12).Value
Next X
End Sub

Sub CButtonselaucun_Click()
    'Sélectionne tous les membres
Dim X As Integer
For X = 1 To 60
    Me.Controls("CB" & X) = False
Next X
End Sub

Sub UserForm_Initialize()
Dim X As Integer
For X = 1 To 60
    Me.Controls("CB" & X).Caption = Sheets("Ftravail").Range("B" & X + 12).Value
Next X
End Sub

Sub CommandButton1_Click()
Dim CB As String
Dim Num As Integer
Dim NumDB As Integer
Dim NumFN As Integer
NumDB = 1
NumFN = 60
For Num = NumDB To NumFN
    CB = "CB" & Num
    If Controls(CB).Value = False Then Controls(CB).Caption = ""
Next Num
End Sub



Jecherche
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…