Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

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

10 réponses

1 2
Avatar
Youky
Bonsoir,
Voir les propriétés de la liste en...
ListStyle=1......case option
MultiSelect=1
et si tu veux pas que l'on y touche
Enabledúlse
cela va te faire avancer
et ta macro que j'ai modifié pour l'occasion
Youky

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
If(Worksheets(Nomf).Visible =True then
UsfOnglet.CboOnglets.Selected(k) = True
End if
Next i
End With
End Sub


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

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


Avatar
Youky
Oups!!!
Selected(i) au lieu de selected(k)

aussi , faut oublier ton coloriage
Youky
Avatar
Fredo P.
Sub Couleurd'onglet()

For i = 1 To ActiveWorkbook.Sheets.Count

If ActiveWorkbook.Sheets(i).Visible = xlVeryHidden Then
Sheets(i).Tab.Color = 255
Else
Sheets(i).Tab.Color = 12611584
End If
Next i
End Sub


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


Avatar
Jac
Bonjour Youky

y a-t'il moyen de voir la sub complète car ma curiosité n'arrive pas à
reproduire la fonctionalité.

Merci d'avance,

Jac

"Youky" a écrit dans le message de news:
es7jr$
Oups!!!
Selected(i) au lieu de selected(k)

aussi , faut oublier ton coloriage
Youky



Avatar
Youky
Bonnjour Jac,

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
If sheets(i).Visible =True then
UsfOnglet.CboOnglets.Selected(i) = True
End if
Next i
End With

Ne pas oublier
Voir les propriétés de la liste en...
ListStyle=1......case option
MultiSelect=1
et si tu veux pas que l'on y touche
Enabledúlse
j'ai modifié la la ligne du IF
Youky
"Jac" a écrit dans le message de news:
%
Bonjour Youky

y a-t'il moyen de voir la sub complète car ma curiosité n'arrive pas à
reproduire la fonctionalité.

Merci d'avance,

Jac

"Youky" a écrit dans le message de news:
es7jr$
Oups!!!
Selected(i) au lieu de selected(k)

aussi , faut oublier ton coloriage
Youky







Avatar
Jac
Oui, mais, ...

quand je colle ça dans un module, ça commence par "Objet requis" sur la
ligne "With UsfOnglet.CboOnglets"
Je pense que sans le classeur qui va avec, il doit me manquer quelques
morceaux.


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

Bonnjour Jac,

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
If sheets(i).Visible =True then
UsfOnglet.CboOnglets.Selected(i) = True
End if
Next i
End With

Ne pas oublier
Voir les propriétés de la liste en...
ListStyle=1......case option
MultiSelect=1
et si tu veux pas que l'on y touche
Enabledúlse
j'ai modifié la la ligne du IF
Youky
"Jac" a écrit dans le message de news:
%
Bonjour Youky

y a-t'il moyen de voir la sub complète car ma curiosité n'arrive pas à
reproduire la fonctionalité.

Merci d'avance,

Jac

"Youky" a écrit dans le message de news:
es7jr$
Oups!!!
Selected(i) au lieu de selected(k)

aussi , faut oublier ton coloriage
Youky











Avatar
Youky
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
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
Youky
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
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