Sinon j'aurais une suggestion.
Si tu mettais directement dans les labels colorés en caption ColorIndexN, tu n'aurais besoin que d'un seul scrollbar, non ?
Ou alors mettre dans la propriété ControlTipText des labels le ColorIndexN
Qu'en penses-tu?
un grand merci pour l'intérêt porté à mes élucubrations...Dans le dernier fichier, il n'y a plus de contrôle ListBox (mais revoir les couleurs de la police).
pour la dernière proposition, c'est un peu ce dont vers quoi je me suis orienté, mais comme expliqué précédemment si l'on veux plusieurs infos par item il faut multiplier les procs événementielles...
Regarde la pièce jointe 1001918
Option Explicit
Private Fermer As Boolean, TopIdx As Integer
Private Sub UserForm_Activate()
Dim I As Integer
TopIdx = -1
Do
If ListBox1.TopIndex <> TopIdx Then
TopIdx = ListBox1.TopIndex
For I = 1 To 10
Me("Label" & I).BackColor = ThisWorkbook.Colors(TopIdx + I)
Next I
End If
DoEvents
Loop Until Fermer
Unload Me
End Sub
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
If CloseMode = 0 Then Fermer = True: Cancel = True
End Sub
Option Explicit
Private FermetureDemandée As Boolean, TopIdx As Integer
Private Sub UserForm_Activate()
Dim I As Integer
TopIdx = -1
Do While Me.Visible
If ListBox1.TopIndex <> TopIdx Then
TopIdx = ListBox1.TopIndex
For I = 1 To 10
Me("Label" & I).BackColor = ThisWorkbook.Colors(TopIdx + I)
Next I
End If
DoEvents
Loop
If FermetureDemandée Then Unload Me
End Sub
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
If Me.Visible Then Me.Hide: FermetureDemandée = True: Cancel = 1
End Sub
Private Sub ListBox1_Click()
Dim Couleur As Double
Couleur = ListBox1.Value
Label11.BackColor = Couleur
Label12.Caption = Couleur
Label13.Caption = "&h" & Application.Dec2Hex(Couleur, 6)
Label14.Caption = "(" & Int(Couleur Mod 256) & "," & Int(Couleur / 256) Mod 256 & ", " & Int(Couleur / 256 ^ 2) Mod 256 & ")"
End Sub
???On n'a même pas besoin de variable Masquer. Pour que ce soit le plus transparent possible pour le reste de la programmation on peut faire comme ça :]
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
If ListBox1.Parent.Visible Then Me.Hide: FermetureDemandée = True: Cancel = 1
End Sub
oui, mais ma problématique c'est :
sur un multipage , pouvoir changer de page pour effectuer d'autres procs ...
attention plantage probable lors du changement de page !!!!
re
Ce n'est pas un problème que de changer de page (le fichier joint contient une mention qui explique bien ce qui s'est passé avec le tien).
Je n'ai pas examiné les barres de la page 2.
Remarque : donc toujours avec le contrôle ListBox et pas de Module de Classe ?