Bonjour à tous J'ai un tableau de 297 et je voulais qu'en fonction de la valeur d'une cellule certaines d'entre elles ne s'affichent à l'ouverture d'une Userform. Par exemple la cellule de référence (ici B2) affiche 152 et seules les 152 premiers Labels s'affichent. Grace aux conseils de certains bons connaisseurs sur ce forum, je suis arrivé à mes fins de la manière suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Dim Number As Integer
Dim Ccontrol As Control
 If IsNumeric(Sheets("Feuil1").Range("C2")) Then
  Number = Worksheets("Feuil1").Range("C2") + 1
  For Each Ccontrol In RLT1JC.Controls
  If Len(Ccontrol.Name) < 9 Then
   If Left(Ccontrol.Name, 5) = "Label" Then
    If CInt(Mid(Ccontrol.Name, 6)) >= Number And CInt(Mid(Ccontrol.Name, 6)) <= 297 Then
     Ccontrol.Visible = False
    End If
   End If
End If
  Next Ccontrol
 End If
J'ai maintenant une Userform avec des TextBox et j'aimerais obtenir la même chose. J'ai donc adapté le code en fonction de ce que j'ai appris sur le coup précédent mais ça ne fonctionne pas. Aucun message d'erreur mais toutes les TextBox s'affichent comme si je n'avais écris aucun code Voilà ce que j'ai écris :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Dim Number As Integer
Dim Ccontrol As Control
 If IsNumeric(Sheets("Feuil1").Range("C7")) Then
  Number = Worksheets("Feuil1").Range("C7") + 1
  For Each Ccontrol In JournéesRLT1.Controls
  If Len(Ccontrol.Name) < 9 Then
   If Left(Ccontrol.Name, 7) = "Textbox" Then
    If CInt(Mid(Ccontrol.Name, 8)) >= Number And CInt(Mid(Ccontrol.Name, 8)) <= 231 Then
     Ccontrol.Visible = False
    End If
   End If
End If
  Next Ccontrol
 End If
End Sub
Ma question est : Ai-je fais des erreurs à votre avis ou tout simplement ce code ne s'applique-t-il tout bonnement pas à des TextBox ? Merci à ceux qui prendrons le temps de m'éclairer Laurent