OVH Cloud OVH Cloud

Couleur Liste déroulante

12 réponses
Avatar
dpro
Bonjour

Je remplis une liste déroulante avec tous les feuille d'un classeur.
J'aimerais pour chaque feuille de la liste indiquer si elle est visible
(bleue) ou non visible (rouge)

La macro suivante fonctionne, mais elle colore la liste complète selon le
statut de la dernière feuille. Est-il possible de remplacer Backcolor, pour
colorier chaque nom de feuille selon son statut.

Dim i As Integer
With UsfOnglet.CboOnglets
.Clear
.Value = ActiveSheet.Name
For i = 1 To Worksheets.Count
.AddItem Sheets(i).Name
Nomf = Sheets(i).Name
Numero = IIf(Worksheets(Nomf).Visible = 0, 0, -1)
If Numero = 0 Then .BackColor = RGB(255, 0, 0)
If Numero = -1 Then .BackColor = RGB(0, 0, 255)
Next i
End With
End Sub
--
Merci a l''avance den

2 réponses

1 2
Avatar
Youky
Private Sub ListBox1_Click()
Sheets(ListBox1.ListIndex + 1).Select
UserForm1.Hide
End Sub

Il faut aussi supprimer ces 3 lignes en Activate

If ActiveSheet.Name = Sheets(i).Name Then
UserForm1.ListBox1.Selected(i - 1) = True
End If

Youky


"Jac" a écrit dans le message de news:
%
Impec... la feuille sélectionnée s'affiche. J'ai essayé de masquer le
userform quand je clique dans la feuille avec

Private Sub UserForm_Deactivate()
UserForm1.Hide
End Sub

mais cette macro ne prend jamais la main et je ne vois pas d'autre
instruction pour ça.

Donc, pour résumer, j'aimerais que l'userform ne soit plus visible quand
je clique dans la feuille. C'est possible ? Sans doute...


"Youky" a écrit dans le message de news:
%
Exemple sur ce nouveau fichier
http://cjoint.com/?lvlf62GvgS
Youky

"Jac" a écrit dans le message de news:

Bien vu, Youky.

merci pour le fichier de démo. Le code ne me suffisait vraiment pas.
L'aspect masqué / pas masqué, je n'en vois pas trop l'usage (pour le
moment) mais au vu de cet userform, les idées (1) fusent... Serait-il
possible d'atteindre une feuille en cliquant simplement sur son nom ?

Excuse-moi d'abuser.. Merci d'avance...

Jac

"Youky" a écrit dans le message de news:

Jac,
voici j'ai fait un fichier de démo
j'ai aussi fait 1 ou 2 rectifs car je n'avais pas testé le code
le lien ......
http://cjoint.com/?luwxg3VJXI
A+ si besoin
Youky










Avatar
Jac
Oui, mais... en faisant ça le premier clic referme tout. Moi, j'aurais aimé
pouvoir naviguer de feuille en feuille depuis l'userform qui se refermerait
dès que je cliquerais en dehors de l'userform.

"Youky" a écrit dans le message de news:

Private Sub ListBox1_Click()
Sheets(ListBox1.ListIndex + 1).Select
UserForm1.Hide
End Sub

Il faut aussi supprimer ces 3 lignes en Activate

If ActiveSheet.Name = Sheets(i).Name Then
UserForm1.ListBox1.Selected(i - 1) = True
End If

Youky


"Jac" a écrit dans le message de news:
%
Impec... la feuille sélectionnée s'affiche. J'ai essayé de masquer le
userform quand je clique dans la feuille avec

Private Sub UserForm_Deactivate()
UserForm1.Hide
End Sub

mais cette macro ne prend jamais la main et je ne vois pas d'autre
instruction pour ça.

Donc, pour résumer, j'aimerais que l'userform ne soit plus visible quand
je clique dans la feuille. C'est possible ? Sans doute...


"Youky" a écrit dans le message de news:
%
Exemple sur ce nouveau fichier
http://cjoint.com/?lvlf62GvgS
Youky

"Jac" a écrit dans le message de news:

Bien vu, Youky.

merci pour le fichier de démo. Le code ne me suffisait vraiment pas.
L'aspect masqué / pas masqué, je n'en vois pas trop l'usage (pour le
moment) mais au vu de cet userform, les idées (1) fusent... Serait-il
possible d'atteindre une feuille en cliquant simplement sur son nom ?

Excuse-moi d'abuser.. Merci d'avance...

Jac

"Youky" a écrit dans le message de
news:
Jac,
voici j'ai fait un fichier de démo
j'ai aussi fait 1 ou 2 rectifs car je n'avais pas testé le code
le lien ......
http://cjoint.com/?luwxg3VJXI
A+ si besoin
Youky














1 2