Bonjour Frédéric, et les autres ;-)
J'ai un classeur avec des tas d'onglets (situation évoquée par un autre
ici hier ou avant hier). Pour faciliter la compréhension je mets des
noms d'onglets assez descriptifs. Du coup on n'en voit que quelques uns
en bas de la page et pour se déplacer c'est casse pieds. La solution
avec des liens hypertextes ou avec un userform ne me convient pas
vraiment : le userform prend de la place sur la feuille et à la longue
c'est fastidieux de le voir s'afficher même quand on ne veut pas. Les
liens hypertexte sur une page d'accueil obligent à revenir sur cette
page. Bof... Je préfère largement la solution d'un menu reprenant la
liste des onglets.
Sur l'excellent Site "Aux choses du temps..." :-), comme prévu, je
trouve mon bonheur : MenuFeuilleChipPerson.bas
Mais pas tout à fait :
si tout fonctionne correctement à l'ouverture, à la fermeture, c'est le
menu fichier qui disparait chez moi tandis que le menu feuilles reste à
l'écran.
Par ailleurs, j'aimerais quelques modifs :
Je ne voudrais pas que les feuilles de tous les classeurs ouverts se
trouvent listées dans ce menu mais seulement celles du classeur dans
lequel est enregistrée la macro.
Et puis quand il y a beaucoup de feuilles, la liste apparait avec en bas
"plus de feuilles". Est-il possible de modifier ceci pour soit indiqué
au départ le nombre de feuilles à afficher ou les afficher toutes ?
merci d'avance !
--
Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta
Bonjour Frédéric, et les autres ;-)
J'ai un classeur avec des tas d'onglets (situation évoquée par un autre
ici hier ou avant hier). Pour faciliter la compréhension je mets des
noms d'onglets assez descriptifs. Du coup on n'en voit que quelques uns
en bas de la page et pour se déplacer c'est casse pieds. La solution
avec des liens hypertextes ou avec un userform ne me convient pas
vraiment : le userform prend de la place sur la feuille et à la longue
c'est fastidieux de le voir s'afficher même quand on ne veut pas. Les
liens hypertexte sur une page d'accueil obligent à revenir sur cette
page. Bof... Je préfère largement la solution d'un menu reprenant la
liste des onglets.
Sur l'excellent Site "Aux choses du temps..." :-), comme prévu, je
trouve mon bonheur : MenuFeuilleChipPerson.bas
Mais pas tout à fait :
si tout fonctionne correctement à l'ouverture, à la fermeture, c'est le
menu fichier qui disparait chez moi tandis que le menu feuilles reste à
l'écran.
Par ailleurs, j'aimerais quelques modifs :
Je ne voudrais pas que les feuilles de tous les classeurs ouverts se
trouvent listées dans ce menu mais seulement celles du classeur dans
lequel est enregistrée la macro.
Et puis quand il y a beaucoup de feuilles, la liste apparait avec en bas
"plus de feuilles". Est-il possible de modifier ceci pour soit indiqué
au départ le nombre de feuilles à afficher ou les afficher toutes ?
merci d'avance !
--
Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta
Bonjour Frédéric, et les autres ;-)
J'ai un classeur avec des tas d'onglets (situation évoquée par un autre
ici hier ou avant hier). Pour faciliter la compréhension je mets des
noms d'onglets assez descriptifs. Du coup on n'en voit que quelques uns
en bas de la page et pour se déplacer c'est casse pieds. La solution
avec des liens hypertextes ou avec un userform ne me convient pas
vraiment : le userform prend de la place sur la feuille et à la longue
c'est fastidieux de le voir s'afficher même quand on ne veut pas. Les
liens hypertexte sur une page d'accueil obligent à revenir sur cette
page. Bof... Je préfère largement la solution d'un menu reprenant la
liste des onglets.
Sur l'excellent Site "Aux choses du temps..." :-), comme prévu, je
trouve mon bonheur : MenuFeuilleChipPerson.bas
Mais pas tout à fait :
si tout fonctionne correctement à l'ouverture, à la fermeture, c'est le
menu fichier qui disparait chez moi tandis que le menu feuilles reste à
l'écran.
Par ailleurs, j'aimerais quelques modifs :
Je ne voudrais pas que les feuilles de tous les classeurs ouverts se
trouvent listées dans ce menu mais seulement celles du classeur dans
lequel est enregistrée la macro.
Et puis quand il y a beaucoup de feuilles, la liste apparait avec en bas
"plus de feuilles". Est-il possible de modifier ceci pour soit indiqué
au départ le nombre de feuilles à afficher ou les afficher toutes ?
merci d'avance !
--
Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta
Bonjour Frédéric, et les autres ;-)
J'ai un classeur avec des tas d'onglets (situation évoquée par un
autre ici hier ou avant hier). Pour faciliter la compréhension je
mets des noms d'onglets assez descriptifs. Du coup on n'en voit que
quelques uns en bas de la page et pour se déplacer c'est casse pieds.
La solution avec des liens hypertextes ou avec un userform ne me
convient pas vraiment : le userform prend de la place sur la feuille
et à la longue c'est fastidieux de le voir s'afficher même quand on
ne veut pas. Les liens hypertexte sur une page d'accueil obligent à
revenir sur cette page. Bof... Je préfère largement la solution d'un
menu reprenant la liste des onglets.
Sur l'excellent Site "Aux choses du temps..." :-), comme prévu, je
trouve mon bonheur : MenuFeuilleChipPerson.bas
Mais pas tout à fait :
si tout fonctionne correctement à l'ouverture, à la fermeture, c'est
le menu fichier qui disparait chez moi tandis que le menu feuilles
reste à l'écran.
Par ailleurs, j'aimerais quelques modifs :
Je ne voudrais pas que les feuilles de tous les classeurs ouverts se
trouvent listées dans ce menu mais seulement celles du classeur dans
lequel est enregistrée la macro.
Et puis quand il y a beaucoup de feuilles, la liste apparait avec en
bas "plus de feuilles". Est-il possible de modifier ceci pour soit
indiqué au départ le nombre de feuilles à afficher ou les afficher
toutes ? merci d'avance !
Bonjour Frédéric, et les autres ;-)
J'ai un classeur avec des tas d'onglets (situation évoquée par un
autre ici hier ou avant hier). Pour faciliter la compréhension je
mets des noms d'onglets assez descriptifs. Du coup on n'en voit que
quelques uns en bas de la page et pour se déplacer c'est casse pieds.
La solution avec des liens hypertextes ou avec un userform ne me
convient pas vraiment : le userform prend de la place sur la feuille
et à la longue c'est fastidieux de le voir s'afficher même quand on
ne veut pas. Les liens hypertexte sur une page d'accueil obligent à
revenir sur cette page. Bof... Je préfère largement la solution d'un
menu reprenant la liste des onglets.
Sur l'excellent Site "Aux choses du temps..." :-), comme prévu, je
trouve mon bonheur : MenuFeuilleChipPerson.bas
Mais pas tout à fait :
si tout fonctionne correctement à l'ouverture, à la fermeture, c'est
le menu fichier qui disparait chez moi tandis que le menu feuilles
reste à l'écran.
Par ailleurs, j'aimerais quelques modifs :
Je ne voudrais pas que les feuilles de tous les classeurs ouverts se
trouvent listées dans ce menu mais seulement celles du classeur dans
lequel est enregistrée la macro.
Et puis quand il y a beaucoup de feuilles, la liste apparait avec en
bas "plus de feuilles". Est-il possible de modifier ceci pour soit
indiqué au départ le nombre de feuilles à afficher ou les afficher
toutes ? merci d'avance !
Bonjour Frédéric, et les autres ;-)
J'ai un classeur avec des tas d'onglets (situation évoquée par un
autre ici hier ou avant hier). Pour faciliter la compréhension je
mets des noms d'onglets assez descriptifs. Du coup on n'en voit que
quelques uns en bas de la page et pour se déplacer c'est casse pieds.
La solution avec des liens hypertextes ou avec un userform ne me
convient pas vraiment : le userform prend de la place sur la feuille
et à la longue c'est fastidieux de le voir s'afficher même quand on
ne veut pas. Les liens hypertexte sur une page d'accueil obligent à
revenir sur cette page. Bof... Je préfère largement la solution d'un
menu reprenant la liste des onglets.
Sur l'excellent Site "Aux choses du temps..." :-), comme prévu, je
trouve mon bonheur : MenuFeuilleChipPerson.bas
Mais pas tout à fait :
si tout fonctionne correctement à l'ouverture, à la fermeture, c'est
le menu fichier qui disparait chez moi tandis que le menu feuilles
reste à l'écran.
Par ailleurs, j'aimerais quelques modifs :
Je ne voudrais pas que les feuilles de tous les classeurs ouverts se
trouvent listées dans ce menu mais seulement celles du classeur dans
lequel est enregistrée la macro.
Et puis quand il y a beaucoup de feuilles, la liste apparait avec en
bas "plus de feuilles". Est-il possible de modifier ceci pour soit
indiqué au départ le nombre de feuilles à afficher ou les afficher
toutes ? merci d'avance !
Bonjour Misange
Je ne suis pas fs, mais vu que cela m'intéresse aussi, je tente de
t'apporter une solution.
1°) Place le code ci-dessous dans un module
2°) ajoute l'appel de CreerLeMenuFeuilles dans l'évènement Workbook_Open
3°) Ajoute l'appel de SupprimerLeMenuFeuilles dans l'évènement
Workbook_BeforeClose.
J'ai testé rapidement chez moi et ça veut bien marcher !
Cordialement
Pascal
Public LeNombre As Integer
Const cTag As String = "SpecialMisange"
Sub CreerLeMenuFeuilles(Nbf As Integer)
With Application.CommandBars
If Not .FindControl(Tag:=cTag) Is Nothing Then
.FindControl(Tag:=cTag).Delete
End If
End With
Set MenuFeuilles = Application.CommandBars(1).Controls.Add(msoControlPopup,
, , , True)
With MenuFeuilles
.Caption = "&Menu Feuilles"
.Tag = cTag
.BeginGroup = False
End With
Set OptionsMenuFeuilles = MenuFeuilles.Controls.Add(msoControlPopup, , , ,
True)
With OptionsMenuFeuilles
.Caption = "Options"
Set Option1 = .Controls.Add(msoControlButton, 1, , , True)
With Option1
.Caption = "Afficher toutes les feuilles"
.OnAction = "ToutesLesFeuilles"
End With
Set Option2 = .Controls.Add(msoControlButton, 1, , , True)
With Option2
.Caption = "Définr le nombre de feuilles à afficher"
.OnAction = "NombredeFeuilles"
End With
End With
Select Case Nbf
Case Is = 0
ToutesLesFeuilles
Case Is > ThisWorkbook.Sheets.Count
ToutesLesFeuilles
End Select
For i = 1 To Nbf
If Sheets(i).Visible = True Then
With MenuFeuilles
NF = "Feuille" & i
Set NF = .Controls.Add(msoControlButton, 1, , , True)
With NF
.Caption = Sheets(i).Name
.OnAction = "ActiverLaFeuille"
End With
End With
End If
Next i
End Sub
Sub SupprimerLeMenuFeuilles()
With Application.CommandBars
If Not .FindControl(Tag:=cTag) Is Nothing Then
.FindControl(Tag:=cTag).Delete
End If
End With
End Sub
Sub ToutesLesFeuilles()
CreerLeMenuFeuilles (ThisWorkbook.Sheets.Count)
End Sub
Sub NombredeFeuilles()
LeNombre = Application.InputBox("Combien de feuilles souhaites-tu afficher
?", "Option menu Feuilles", , , , , , 1)
Select Case LeNombre
Case Is > ThisWorkbook.Sheets.Count
ToutesLesFeuilles
Case Is = 0
ToutesLesFeuilles
Case Is > 0 < ThisWorkbook.Sheets.Count
Sheets("Feuil1").Range("nbf") = LeNombre
End Select
CreerLeMenuFeuilles (LeNombre)
End Sub
Sub ActiverLaFeuille()
CommandBars("Workbook tabs").ShowPopup
End Sub
"Misange" a écrit dans le message de
news:Bonjour Frédéric, et les autres ;-)
J'ai un classeur avec des tas d'onglets (situation évoquée par un autre
ici hier ou avant hier). Pour faciliter la compréhension je mets des
noms d'onglets assez descriptifs. Du coup on n'en voit que quelques uns
en bas de la page et pour se déplacer c'est casse pieds. La solution
avec des liens hypertextes ou avec un userform ne me convient pas
vraiment : le userform prend de la place sur la feuille et à la longue
c'est fastidieux de le voir s'afficher même quand on ne veut pas. Les
liens hypertexte sur une page d'accueil obligent à revenir sur cette
page. Bof... Je préfère largement la solution d'un menu reprenant la
liste des onglets.
Sur l'excellent Site "Aux choses du temps..." :-), comme prévu, je
trouve mon bonheur : MenuFeuilleChipPerson.bas
Mais pas tout à fait :
si tout fonctionne correctement à l'ouverture, à la fermeture, c'est le
menu fichier qui disparait chez moi tandis que le menu feuilles reste à
l'écran.
Par ailleurs, j'aimerais quelques modifs :
Je ne voudrais pas que les feuilles de tous les classeurs ouverts se
trouvent listées dans ce menu mais seulement celles du classeur dans
lequel est enregistrée la macro.
Et puis quand il y a beaucoup de feuilles, la liste apparait avec en bas
"plus de feuilles". Est-il possible de modifier ceci pour soit indiqué
au départ le nombre de feuilles à afficher ou les afficher toutes ?
merci d'avance !
--
Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta
Bonjour Misange
Je ne suis pas fs, mais vu que cela m'intéresse aussi, je tente de
t'apporter une solution.
1°) Place le code ci-dessous dans un module
2°) ajoute l'appel de CreerLeMenuFeuilles dans l'évènement Workbook_Open
3°) Ajoute l'appel de SupprimerLeMenuFeuilles dans l'évènement
Workbook_BeforeClose.
J'ai testé rapidement chez moi et ça veut bien marcher !
Cordialement
Pascal
Public LeNombre As Integer
Const cTag As String = "SpecialMisange"
Sub CreerLeMenuFeuilles(Nbf As Integer)
With Application.CommandBars
If Not .FindControl(Tag:=cTag) Is Nothing Then
.FindControl(Tag:=cTag).Delete
End If
End With
Set MenuFeuilles = Application.CommandBars(1).Controls.Add(msoControlPopup,
, , , True)
With MenuFeuilles
.Caption = "&Menu Feuilles"
.Tag = cTag
.BeginGroup = False
End With
Set OptionsMenuFeuilles = MenuFeuilles.Controls.Add(msoControlPopup, , , ,
True)
With OptionsMenuFeuilles
.Caption = "Options"
Set Option1 = .Controls.Add(msoControlButton, 1, , , True)
With Option1
.Caption = "Afficher toutes les feuilles"
.OnAction = "ToutesLesFeuilles"
End With
Set Option2 = .Controls.Add(msoControlButton, 1, , , True)
With Option2
.Caption = "Définr le nombre de feuilles à afficher"
.OnAction = "NombredeFeuilles"
End With
End With
Select Case Nbf
Case Is = 0
ToutesLesFeuilles
Case Is > ThisWorkbook.Sheets.Count
ToutesLesFeuilles
End Select
For i = 1 To Nbf
If Sheets(i).Visible = True Then
With MenuFeuilles
NF = "Feuille" & i
Set NF = .Controls.Add(msoControlButton, 1, , , True)
With NF
.Caption = Sheets(i).Name
.OnAction = "ActiverLaFeuille"
End With
End With
End If
Next i
End Sub
Sub SupprimerLeMenuFeuilles()
With Application.CommandBars
If Not .FindControl(Tag:=cTag) Is Nothing Then
.FindControl(Tag:=cTag).Delete
End If
End With
End Sub
Sub ToutesLesFeuilles()
CreerLeMenuFeuilles (ThisWorkbook.Sheets.Count)
End Sub
Sub NombredeFeuilles()
LeNombre = Application.InputBox("Combien de feuilles souhaites-tu afficher
?", "Option menu Feuilles", , , , , , 1)
Select Case LeNombre
Case Is > ThisWorkbook.Sheets.Count
ToutesLesFeuilles
Case Is = 0
ToutesLesFeuilles
Case Is > 0 < ThisWorkbook.Sheets.Count
Sheets("Feuil1").Range("nbf") = LeNombre
End Select
CreerLeMenuFeuilles (LeNombre)
End Sub
Sub ActiverLaFeuille()
CommandBars("Workbook tabs").ShowPopup
End Sub
"Misange" <misange@devinezou.net> a écrit dans le message de
news:ucVdDV4oDHA.372@TK2MSFTNGP11.phx.gbl...
Bonjour Frédéric, et les autres ;-)
J'ai un classeur avec des tas d'onglets (situation évoquée par un autre
ici hier ou avant hier). Pour faciliter la compréhension je mets des
noms d'onglets assez descriptifs. Du coup on n'en voit que quelques uns
en bas de la page et pour se déplacer c'est casse pieds. La solution
avec des liens hypertextes ou avec un userform ne me convient pas
vraiment : le userform prend de la place sur la feuille et à la longue
c'est fastidieux de le voir s'afficher même quand on ne veut pas. Les
liens hypertexte sur une page d'accueil obligent à revenir sur cette
page. Bof... Je préfère largement la solution d'un menu reprenant la
liste des onglets.
Sur l'excellent Site "Aux choses du temps..." :-), comme prévu, je
trouve mon bonheur : MenuFeuilleChipPerson.bas
Mais pas tout à fait :
si tout fonctionne correctement à l'ouverture, à la fermeture, c'est le
menu fichier qui disparait chez moi tandis que le menu feuilles reste à
l'écran.
Par ailleurs, j'aimerais quelques modifs :
Je ne voudrais pas que les feuilles de tous les classeurs ouverts se
trouvent listées dans ce menu mais seulement celles du classeur dans
lequel est enregistrée la macro.
Et puis quand il y a beaucoup de feuilles, la liste apparait avec en bas
"plus de feuilles". Est-il possible de modifier ceci pour soit indiqué
au départ le nombre de feuilles à afficher ou les afficher toutes ?
merci d'avance !
--
Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta
Bonjour Misange
Je ne suis pas fs, mais vu que cela m'intéresse aussi, je tente de
t'apporter une solution.
1°) Place le code ci-dessous dans un module
2°) ajoute l'appel de CreerLeMenuFeuilles dans l'évènement Workbook_Open
3°) Ajoute l'appel de SupprimerLeMenuFeuilles dans l'évènement
Workbook_BeforeClose.
J'ai testé rapidement chez moi et ça veut bien marcher !
Cordialement
Pascal
Public LeNombre As Integer
Const cTag As String = "SpecialMisange"
Sub CreerLeMenuFeuilles(Nbf As Integer)
With Application.CommandBars
If Not .FindControl(Tag:=cTag) Is Nothing Then
.FindControl(Tag:=cTag).Delete
End If
End With
Set MenuFeuilles = Application.CommandBars(1).Controls.Add(msoControlPopup,
, , , True)
With MenuFeuilles
.Caption = "&Menu Feuilles"
.Tag = cTag
.BeginGroup = False
End With
Set OptionsMenuFeuilles = MenuFeuilles.Controls.Add(msoControlPopup, , , ,
True)
With OptionsMenuFeuilles
.Caption = "Options"
Set Option1 = .Controls.Add(msoControlButton, 1, , , True)
With Option1
.Caption = "Afficher toutes les feuilles"
.OnAction = "ToutesLesFeuilles"
End With
Set Option2 = .Controls.Add(msoControlButton, 1, , , True)
With Option2
.Caption = "Définr le nombre de feuilles à afficher"
.OnAction = "NombredeFeuilles"
End With
End With
Select Case Nbf
Case Is = 0
ToutesLesFeuilles
Case Is > ThisWorkbook.Sheets.Count
ToutesLesFeuilles
End Select
For i = 1 To Nbf
If Sheets(i).Visible = True Then
With MenuFeuilles
NF = "Feuille" & i
Set NF = .Controls.Add(msoControlButton, 1, , , True)
With NF
.Caption = Sheets(i).Name
.OnAction = "ActiverLaFeuille"
End With
End With
End If
Next i
End Sub
Sub SupprimerLeMenuFeuilles()
With Application.CommandBars
If Not .FindControl(Tag:=cTag) Is Nothing Then
.FindControl(Tag:=cTag).Delete
End If
End With
End Sub
Sub ToutesLesFeuilles()
CreerLeMenuFeuilles (ThisWorkbook.Sheets.Count)
End Sub
Sub NombredeFeuilles()
LeNombre = Application.InputBox("Combien de feuilles souhaites-tu afficher
?", "Option menu Feuilles", , , , , , 1)
Select Case LeNombre
Case Is > ThisWorkbook.Sheets.Count
ToutesLesFeuilles
Case Is = 0
ToutesLesFeuilles
Case Is > 0 < ThisWorkbook.Sheets.Count
Sheets("Feuil1").Range("nbf") = LeNombre
End Select
CreerLeMenuFeuilles (LeNombre)
End Sub
Sub ActiverLaFeuille()
CommandBars("Workbook tabs").ShowPopup
End Sub
"Misange" a écrit dans le message de
news:Bonjour Frédéric, et les autres ;-)
J'ai un classeur avec des tas d'onglets (situation évoquée par un autre
ici hier ou avant hier). Pour faciliter la compréhension je mets des
noms d'onglets assez descriptifs. Du coup on n'en voit que quelques uns
en bas de la page et pour se déplacer c'est casse pieds. La solution
avec des liens hypertextes ou avec un userform ne me convient pas
vraiment : le userform prend de la place sur la feuille et à la longue
c'est fastidieux de le voir s'afficher même quand on ne veut pas. Les
liens hypertexte sur une page d'accueil obligent à revenir sur cette
page. Bof... Je préfère largement la solution d'un menu reprenant la
liste des onglets.
Sur l'excellent Site "Aux choses du temps..." :-), comme prévu, je
trouve mon bonheur : MenuFeuilleChipPerson.bas
Mais pas tout à fait :
si tout fonctionne correctement à l'ouverture, à la fermeture, c'est le
menu fichier qui disparait chez moi tandis que le menu feuilles reste à
l'écran.
Par ailleurs, j'aimerais quelques modifs :
Je ne voudrais pas que les feuilles de tous les classeurs ouverts se
trouvent listées dans ce menu mais seulement celles du classeur dans
lequel est enregistrée la macro.
Et puis quand il y a beaucoup de feuilles, la liste apparait avec en bas
"plus de feuilles". Est-il possible de modifier ceci pour soit indiqué
au départ le nombre de feuilles à afficher ou les afficher toutes ?
merci d'avance !
--
Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta
SUPER !
C'est absolument parfait à une toute petite remarque près : il faut dans
le workbook_open ecrire
CreerLeMenuFeuilles (15)
autrement dit, l'argument (nombre de feuilles à afficher au départ)
n'est pas facultatif.
Merci ++ à FS, Chip et toi c'est super pratique !
et quel service ! je pose la question, je vais déjeuner, je bois mon
café et hop j'ai la réponse, le tout avec le sourire :-)
ca en vaut bien un en retour :-)
Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta
le 05/11/2003 12:30:Bonjour Misange
Je ne suis pas fs, mais vu que cela m'intéresse aussi, je tente de
t'apporter une solution.
1°) Place le code ci-dessous dans un module
2°) ajoute l'appel de CreerLeMenuFeuilles dans l'évènement Workbook_Open
3°) Ajoute l'appel de SupprimerLeMenuFeuilles dans l'évènement
Workbook_BeforeClose.
J'ai testé rapidement chez moi et ça veut bien marcher !
Cordialement
Pascal
Public LeNombre As Integer
Const cTag As String = "SpecialMisange"
Sub CreerLeMenuFeuilles(Nbf As Integer)
With Application.CommandBars
If Not .FindControl(Tag:=cTag) Is Nothing Then
.FindControl(Tag:=cTag).Delete
End If
End With
Set MenuFeuilles Application.CommandBars(1).Controls.Add(msoControlPopup,
, , , True)
With MenuFeuilles
.Caption = "&Menu Feuilles"
.Tag = cTag
.BeginGroup = False
End With
Set OptionsMenuFeuilles = MenuFeuilles.Controls.Add(msoControlPopup, , ,
,
True)
With OptionsMenuFeuilles
.Caption = "Options"
Set Option1 = .Controls.Add(msoControlButton, 1, , , True)
With Option1
.Caption = "Afficher toutes les feuilles"
.OnAction = "ToutesLesFeuilles"
End With
Set Option2 = .Controls.Add(msoControlButton, 1, , , True)
With Option2
.Caption = "Définr le nombre de feuilles à afficher"
.OnAction = "NombredeFeuilles"
End With
End With
Select Case Nbf
Case Is = 0
ToutesLesFeuilles
Case Is > ThisWorkbook.Sheets.Count
ToutesLesFeuilles
End Select
For i = 1 To Nbf
If Sheets(i).Visible = True Then
With MenuFeuilles
NF = "Feuille" & i
Set NF = .Controls.Add(msoControlButton, 1, , , True)
With NF
.Caption = Sheets(i).Name
.OnAction = "ActiverLaFeuille"
End With
End With
End If
Next i
End Sub
Sub SupprimerLeMenuFeuilles()
With Application.CommandBars
If Not .FindControl(Tag:=cTag) Is Nothing Then
.FindControl(Tag:=cTag).Delete
End If
End With
End Sub
Sub ToutesLesFeuilles()
CreerLeMenuFeuilles (ThisWorkbook.Sheets.Count)
End Sub
Sub NombredeFeuilles()
LeNombre = Application.InputBox("Combien de feuilles souhaites-tu
afficher
?", "Option menu Feuilles", , , , , , 1)
Select Case LeNombre
Case Is > ThisWorkbook.Sheets.Count
ToutesLesFeuilles
Case Is = 0
ToutesLesFeuilles
Case Is > 0 < ThisWorkbook.Sheets.Count
Sheets("Feuil1").Range("nbf") = LeNombre
End Select
CreerLeMenuFeuilles (LeNombre)
End Sub
Sub ActiverLaFeuille()
CommandBars("Workbook tabs").ShowPopup
End Sub
"Misange" a écrit dans le message de
news:Bonjour Frédéric, et les autres ;-)
J'ai un classeur avec des tas d'onglets (situation évoquée par un autre
ici hier ou avant hier). Pour faciliter la compréhension je mets des
noms d'onglets assez descriptifs. Du coup on n'en voit que quelques uns
en bas de la page et pour se déplacer c'est casse pieds. La solution
avec des liens hypertextes ou avec un userform ne me convient pas
vraiment : le userform prend de la place sur la feuille et à la longue
c'est fastidieux de le voir s'afficher même quand on ne veut pas. Les
liens hypertexte sur une page d'accueil obligent à revenir sur cette
page. Bof... Je préfère largement la solution d'un menu reprenant la
liste des onglets.
Sur l'excellent Site "Aux choses du temps..." :-), comme prévu, je
trouve mon bonheur : MenuFeuilleChipPerson.bas
Mais pas tout à fait :
si tout fonctionne correctement à l'ouverture, à la fermeture, c'est le
menu fichier qui disparait chez moi tandis que le menu feuilles reste à
l'écran.
Par ailleurs, j'aimerais quelques modifs :
Je ne voudrais pas que les feuilles de tous les classeurs ouverts se
trouvent listées dans ce menu mais seulement celles du classeur dans
lequel est enregistrée la macro.
Et puis quand il y a beaucoup de feuilles, la liste apparait avec en bas
"plus de feuilles". Est-il possible de modifier ceci pour soit indiqué
au départ le nombre de feuilles à afficher ou les afficher toutes ?
merci d'avance !
--
Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta
SUPER !
C'est absolument parfait à une toute petite remarque près : il faut dans
le workbook_open ecrire
CreerLeMenuFeuilles (15)
autrement dit, l'argument (nombre de feuilles à afficher au départ)
n'est pas facultatif.
Merci ++ à FS, Chip et toi c'est super pratique !
et quel service ! je pose la question, je vais déjeuner, je bois mon
café et hop j'ai la réponse, le tout avec le sourire :-)
ca en vaut bien un en retour :-)
Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta
le 05/11/2003 12:30:
Bonjour Misange
Je ne suis pas fs, mais vu que cela m'intéresse aussi, je tente de
t'apporter une solution.
1°) Place le code ci-dessous dans un module
2°) ajoute l'appel de CreerLeMenuFeuilles dans l'évènement Workbook_Open
3°) Ajoute l'appel de SupprimerLeMenuFeuilles dans l'évènement
Workbook_BeforeClose.
J'ai testé rapidement chez moi et ça veut bien marcher !
Cordialement
Pascal
Public LeNombre As Integer
Const cTag As String = "SpecialMisange"
Sub CreerLeMenuFeuilles(Nbf As Integer)
With Application.CommandBars
If Not .FindControl(Tag:=cTag) Is Nothing Then
.FindControl(Tag:=cTag).Delete
End If
End With
Set MenuFeuilles Application.CommandBars(1).Controls.Add(msoControlPopup,
, , , True)
With MenuFeuilles
.Caption = "&Menu Feuilles"
.Tag = cTag
.BeginGroup = False
End With
Set OptionsMenuFeuilles = MenuFeuilles.Controls.Add(msoControlPopup, , ,
,
True)
With OptionsMenuFeuilles
.Caption = "Options"
Set Option1 = .Controls.Add(msoControlButton, 1, , , True)
With Option1
.Caption = "Afficher toutes les feuilles"
.OnAction = "ToutesLesFeuilles"
End With
Set Option2 = .Controls.Add(msoControlButton, 1, , , True)
With Option2
.Caption = "Définr le nombre de feuilles à afficher"
.OnAction = "NombredeFeuilles"
End With
End With
Select Case Nbf
Case Is = 0
ToutesLesFeuilles
Case Is > ThisWorkbook.Sheets.Count
ToutesLesFeuilles
End Select
For i = 1 To Nbf
If Sheets(i).Visible = True Then
With MenuFeuilles
NF = "Feuille" & i
Set NF = .Controls.Add(msoControlButton, 1, , , True)
With NF
.Caption = Sheets(i).Name
.OnAction = "ActiverLaFeuille"
End With
End With
End If
Next i
End Sub
Sub SupprimerLeMenuFeuilles()
With Application.CommandBars
If Not .FindControl(Tag:=cTag) Is Nothing Then
.FindControl(Tag:=cTag).Delete
End If
End With
End Sub
Sub ToutesLesFeuilles()
CreerLeMenuFeuilles (ThisWorkbook.Sheets.Count)
End Sub
Sub NombredeFeuilles()
LeNombre = Application.InputBox("Combien de feuilles souhaites-tu
afficher
?", "Option menu Feuilles", , , , , , 1)
Select Case LeNombre
Case Is > ThisWorkbook.Sheets.Count
ToutesLesFeuilles
Case Is = 0
ToutesLesFeuilles
Case Is > 0 < ThisWorkbook.Sheets.Count
Sheets("Feuil1").Range("nbf") = LeNombre
End Select
CreerLeMenuFeuilles (LeNombre)
End Sub
Sub ActiverLaFeuille()
CommandBars("Workbook tabs").ShowPopup
End Sub
"Misange" <misange@devinezou.net> a écrit dans le message de
news:ucVdDV4oDHA.372@TK2MSFTNGP11.phx.gbl...
Bonjour Frédéric, et les autres ;-)
J'ai un classeur avec des tas d'onglets (situation évoquée par un autre
ici hier ou avant hier). Pour faciliter la compréhension je mets des
noms d'onglets assez descriptifs. Du coup on n'en voit que quelques uns
en bas de la page et pour se déplacer c'est casse pieds. La solution
avec des liens hypertextes ou avec un userform ne me convient pas
vraiment : le userform prend de la place sur la feuille et à la longue
c'est fastidieux de le voir s'afficher même quand on ne veut pas. Les
liens hypertexte sur une page d'accueil obligent à revenir sur cette
page. Bof... Je préfère largement la solution d'un menu reprenant la
liste des onglets.
Sur l'excellent Site "Aux choses du temps..." :-), comme prévu, je
trouve mon bonheur : MenuFeuilleChipPerson.bas
Mais pas tout à fait :
si tout fonctionne correctement à l'ouverture, à la fermeture, c'est le
menu fichier qui disparait chez moi tandis que le menu feuilles reste à
l'écran.
Par ailleurs, j'aimerais quelques modifs :
Je ne voudrais pas que les feuilles de tous les classeurs ouverts se
trouvent listées dans ce menu mais seulement celles du classeur dans
lequel est enregistrée la macro.
Et puis quand il y a beaucoup de feuilles, la liste apparait avec en bas
"plus de feuilles". Est-il possible de modifier ceci pour soit indiqué
au départ le nombre de feuilles à afficher ou les afficher toutes ?
merci d'avance !
--
Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta
SUPER !
C'est absolument parfait à une toute petite remarque près : il faut dans
le workbook_open ecrire
CreerLeMenuFeuilles (15)
autrement dit, l'argument (nombre de feuilles à afficher au départ)
n'est pas facultatif.
Merci ++ à FS, Chip et toi c'est super pratique !
et quel service ! je pose la question, je vais déjeuner, je bois mon
café et hop j'ai la réponse, le tout avec le sourire :-)
ca en vaut bien un en retour :-)
Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta
le 05/11/2003 12:30:Bonjour Misange
Je ne suis pas fs, mais vu que cela m'intéresse aussi, je tente de
t'apporter une solution.
1°) Place le code ci-dessous dans un module
2°) ajoute l'appel de CreerLeMenuFeuilles dans l'évènement Workbook_Open
3°) Ajoute l'appel de SupprimerLeMenuFeuilles dans l'évènement
Workbook_BeforeClose.
J'ai testé rapidement chez moi et ça veut bien marcher !
Cordialement
Pascal
Public LeNombre As Integer
Const cTag As String = "SpecialMisange"
Sub CreerLeMenuFeuilles(Nbf As Integer)
With Application.CommandBars
If Not .FindControl(Tag:=cTag) Is Nothing Then
.FindControl(Tag:=cTag).Delete
End If
End With
Set MenuFeuilles Application.CommandBars(1).Controls.Add(msoControlPopup,
, , , True)
With MenuFeuilles
.Caption = "&Menu Feuilles"
.Tag = cTag
.BeginGroup = False
End With
Set OptionsMenuFeuilles = MenuFeuilles.Controls.Add(msoControlPopup, , ,
,
True)
With OptionsMenuFeuilles
.Caption = "Options"
Set Option1 = .Controls.Add(msoControlButton, 1, , , True)
With Option1
.Caption = "Afficher toutes les feuilles"
.OnAction = "ToutesLesFeuilles"
End With
Set Option2 = .Controls.Add(msoControlButton, 1, , , True)
With Option2
.Caption = "Définr le nombre de feuilles à afficher"
.OnAction = "NombredeFeuilles"
End With
End With
Select Case Nbf
Case Is = 0
ToutesLesFeuilles
Case Is > ThisWorkbook.Sheets.Count
ToutesLesFeuilles
End Select
For i = 1 To Nbf
If Sheets(i).Visible = True Then
With MenuFeuilles
NF = "Feuille" & i
Set NF = .Controls.Add(msoControlButton, 1, , , True)
With NF
.Caption = Sheets(i).Name
.OnAction = "ActiverLaFeuille"
End With
End With
End If
Next i
End Sub
Sub SupprimerLeMenuFeuilles()
With Application.CommandBars
If Not .FindControl(Tag:=cTag) Is Nothing Then
.FindControl(Tag:=cTag).Delete
End If
End With
End Sub
Sub ToutesLesFeuilles()
CreerLeMenuFeuilles (ThisWorkbook.Sheets.Count)
End Sub
Sub NombredeFeuilles()
LeNombre = Application.InputBox("Combien de feuilles souhaites-tu
afficher
?", "Option menu Feuilles", , , , , , 1)
Select Case LeNombre
Case Is > ThisWorkbook.Sheets.Count
ToutesLesFeuilles
Case Is = 0
ToutesLesFeuilles
Case Is > 0 < ThisWorkbook.Sheets.Count
Sheets("Feuil1").Range("nbf") = LeNombre
End Select
CreerLeMenuFeuilles (LeNombre)
End Sub
Sub ActiverLaFeuille()
CommandBars("Workbook tabs").ShowPopup
End Sub
"Misange" a écrit dans le message de
news:Bonjour Frédéric, et les autres ;-)
J'ai un classeur avec des tas d'onglets (situation évoquée par un autre
ici hier ou avant hier). Pour faciliter la compréhension je mets des
noms d'onglets assez descriptifs. Du coup on n'en voit que quelques uns
en bas de la page et pour se déplacer c'est casse pieds. La solution
avec des liens hypertextes ou avec un userform ne me convient pas
vraiment : le userform prend de la place sur la feuille et à la longue
c'est fastidieux de le voir s'afficher même quand on ne veut pas. Les
liens hypertexte sur une page d'accueil obligent à revenir sur cette
page. Bof... Je préfère largement la solution d'un menu reprenant la
liste des onglets.
Sur l'excellent Site "Aux choses du temps..." :-), comme prévu, je
trouve mon bonheur : MenuFeuilleChipPerson.bas
Mais pas tout à fait :
si tout fonctionne correctement à l'ouverture, à la fermeture, c'est le
menu fichier qui disparait chez moi tandis que le menu feuilles reste à
l'écran.
Par ailleurs, j'aimerais quelques modifs :
Je ne voudrais pas que les feuilles de tous les classeurs ouverts se
trouvent listées dans ce menu mais seulement celles du classeur dans
lequel est enregistrée la macro.
Et puis quand il y a beaucoup de feuilles, la liste apparait avec en bas
"plus de feuilles". Est-il possible de modifier ceci pour soit indiqué
au départ le nombre de feuilles à afficher ou les afficher toutes ?
merci d'avance !
--
Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta
Bonjour,
Juste par curiosité, as-tu déjà utilisé le clic droit de la souris sur les
flèches de déplacement des onglets?
Cela ne répond pas à tous tes désirs mais peut déjà aider.
A+
Paul V
Misange wrote:Bonjour Frédéric, et les autres ;-)
J'ai un classeur avec des tas d'onglets (situation évoquée par un
autre ici hier ou avant hier). Pour faciliter la compréhension je
mets des noms d'onglets assez descriptifs. Du coup on n'en voit que
quelques uns en bas de la page et pour se déplacer c'est casse pieds.
La solution avec des liens hypertextes ou avec un userform ne me
convient pas vraiment : le userform prend de la place sur la feuille
et à la longue c'est fastidieux de le voir s'afficher même quand on
ne veut pas. Les liens hypertexte sur une page d'accueil obligent à
revenir sur cette page. Bof... Je préfère largement la solution d'un
menu reprenant la liste des onglets.
Sur l'excellent Site "Aux choses du temps..." :-), comme prévu, je
trouve mon bonheur : MenuFeuilleChipPerson.bas
Mais pas tout à fait :
si tout fonctionne correctement à l'ouverture, à la fermeture, c'est
le menu fichier qui disparait chez moi tandis que le menu feuilles
reste à l'écran.
Par ailleurs, j'aimerais quelques modifs :
Je ne voudrais pas que les feuilles de tous les classeurs ouverts se
trouvent listées dans ce menu mais seulement celles du classeur dans
lequel est enregistrée la macro.
Et puis quand il y a beaucoup de feuilles, la liste apparait avec en
bas "plus de feuilles". Est-il possible de modifier ceci pour soit
indiqué au départ le nombre de feuilles à afficher ou les afficher
toutes ? merci d'avance !
Bonjour,
Juste par curiosité, as-tu déjà utilisé le clic droit de la souris sur les
flèches de déplacement des onglets?
Cela ne répond pas à tous tes désirs mais peut déjà aider.
A+
Paul V
Misange wrote:
Bonjour Frédéric, et les autres ;-)
J'ai un classeur avec des tas d'onglets (situation évoquée par un
autre ici hier ou avant hier). Pour faciliter la compréhension je
mets des noms d'onglets assez descriptifs. Du coup on n'en voit que
quelques uns en bas de la page et pour se déplacer c'est casse pieds.
La solution avec des liens hypertextes ou avec un userform ne me
convient pas vraiment : le userform prend de la place sur la feuille
et à la longue c'est fastidieux de le voir s'afficher même quand on
ne veut pas. Les liens hypertexte sur une page d'accueil obligent à
revenir sur cette page. Bof... Je préfère largement la solution d'un
menu reprenant la liste des onglets.
Sur l'excellent Site "Aux choses du temps..." :-), comme prévu, je
trouve mon bonheur : MenuFeuilleChipPerson.bas
Mais pas tout à fait :
si tout fonctionne correctement à l'ouverture, à la fermeture, c'est
le menu fichier qui disparait chez moi tandis que le menu feuilles
reste à l'écran.
Par ailleurs, j'aimerais quelques modifs :
Je ne voudrais pas que les feuilles de tous les classeurs ouverts se
trouvent listées dans ce menu mais seulement celles du classeur dans
lequel est enregistrée la macro.
Et puis quand il y a beaucoup de feuilles, la liste apparait avec en
bas "plus de feuilles". Est-il possible de modifier ceci pour soit
indiqué au départ le nombre de feuilles à afficher ou les afficher
toutes ? merci d'avance !
Bonjour,
Juste par curiosité, as-tu déjà utilisé le clic droit de la souris sur les
flèches de déplacement des onglets?
Cela ne répond pas à tous tes désirs mais peut déjà aider.
A+
Paul V
Misange wrote:Bonjour Frédéric, et les autres ;-)
J'ai un classeur avec des tas d'onglets (situation évoquée par un
autre ici hier ou avant hier). Pour faciliter la compréhension je
mets des noms d'onglets assez descriptifs. Du coup on n'en voit que
quelques uns en bas de la page et pour se déplacer c'est casse pieds.
La solution avec des liens hypertextes ou avec un userform ne me
convient pas vraiment : le userform prend de la place sur la feuille
et à la longue c'est fastidieux de le voir s'afficher même quand on
ne veut pas. Les liens hypertexte sur une page d'accueil obligent à
revenir sur cette page. Bof... Je préfère largement la solution d'un
menu reprenant la liste des onglets.
Sur l'excellent Site "Aux choses du temps..." :-), comme prévu, je
trouve mon bonheur : MenuFeuilleChipPerson.bas
Mais pas tout à fait :
si tout fonctionne correctement à l'ouverture, à la fermeture, c'est
le menu fichier qui disparait chez moi tandis que le menu feuilles
reste à l'écran.
Par ailleurs, j'aimerais quelques modifs :
Je ne voudrais pas que les feuilles de tous les classeurs ouverts se
trouvent listées dans ce menu mais seulement celles du classeur dans
lequel est enregistrée la macro.
Et puis quand il y a beaucoup de feuilles, la liste apparait avec en
bas "plus de feuilles". Est-il possible de modifier ceci pour soit
indiqué au départ le nombre de feuilles à afficher ou les afficher
toutes ? merci d'avance !
SUPER !
C'est absolument parfait à une toute petite remarque près : il faut dans
le workbook_open ecrire
CreerLeMenuFeuilles (15)
autrement dit, l'argument (nombre de feuilles à afficher au départ)
n'est pas facultatif.
Merci ++ à FS, Chip et toi c'est super pratique !
et quel service ! je pose la question, je vais déjeuner, je bois mon
café et hop j'ai la réponse, le tout avec le sourire :-)
ca en vaut bien un en retour :-)
Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta
le 05/11/2003 12:30:Bonjour Misange
Je ne suis pas fs, mais vu que cela m'intéresse aussi, je tente de
t'apporter une solution.
1°) Place le code ci-dessous dans un module
2°) ajoute l'appel de CreerLeMenuFeuilles dans l'évènement Workbook_Open
3°) Ajoute l'appel de SupprimerLeMenuFeuilles dans l'évènement
Workbook_BeforeClose.
J'ai testé rapidement chez moi et ça veut bien marcher !
Cordialement
Pascal
Public LeNombre As Integer
Const cTag As String = "SpecialMisange"
Sub CreerLeMenuFeuilles(Nbf As Integer)
With Application.CommandBars
If Not .FindControl(Tag:=cTag) Is Nothing Then
.FindControl(Tag:=cTag).Delete
End If
End With
Set MenuFeuilles Application.CommandBars(1).Controls.Add(msoControlPopup,
, , , True)
With MenuFeuilles
.Caption = "&Menu Feuilles"
.Tag = cTag
.BeginGroup = False
End With
Set OptionsMenuFeuilles = MenuFeuilles.Controls.Add(msoControlPopup, , ,
,
True)
With OptionsMenuFeuilles
.Caption = "Options"
Set Option1 = .Controls.Add(msoControlButton, 1, , , True)
With Option1
.Caption = "Afficher toutes les feuilles"
.OnAction = "ToutesLesFeuilles"
End With
Set Option2 = .Controls.Add(msoControlButton, 1, , , True)
With Option2
.Caption = "Définr le nombre de feuilles à afficher"
.OnAction = "NombredeFeuilles"
End With
End With
Select Case Nbf
Case Is = 0
ToutesLesFeuilles
Case Is > ThisWorkbook.Sheets.Count
ToutesLesFeuilles
End Select
For i = 1 To Nbf
If Sheets(i).Visible = True Then
With MenuFeuilles
NF = "Feuille" & i
Set NF = .Controls.Add(msoControlButton, 1, , , True)
With NF
.Caption = Sheets(i).Name
.OnAction = "ActiverLaFeuille"
End With
End With
End If
Next i
End Sub
Sub SupprimerLeMenuFeuilles()
With Application.CommandBars
If Not .FindControl(Tag:=cTag) Is Nothing Then
.FindControl(Tag:=cTag).Delete
End If
End With
End Sub
Sub ToutesLesFeuilles()
CreerLeMenuFeuilles (ThisWorkbook.Sheets.Count)
End Sub
Sub NombredeFeuilles()
LeNombre = Application.InputBox("Combien de feuilles souhaites-tu
afficher
?", "Option menu Feuilles", , , , , , 1)
Select Case LeNombre
Case Is > ThisWorkbook.Sheets.Count
ToutesLesFeuilles
Case Is = 0
ToutesLesFeuilles
Case Is > 0 < ThisWorkbook.Sheets.Count
Sheets("Feuil1").Range("nbf") = LeNombre
End Select
CreerLeMenuFeuilles (LeNombre)
End Sub
Sub ActiverLaFeuille()
CommandBars("Workbook tabs").ShowPopup
End Sub
"Misange" a écrit dans le message de
news:Bonjour Frédéric, et les autres ;-)
J'ai un classeur avec des tas d'onglets (situation évoquée par un autre
ici hier ou avant hier). Pour faciliter la compréhension je mets des
noms d'onglets assez descriptifs. Du coup on n'en voit que quelques uns
en bas de la page et pour se déplacer c'est casse pieds. La solution
avec des liens hypertextes ou avec un userform ne me convient pas
vraiment : le userform prend de la place sur la feuille et à la longue
c'est fastidieux de le voir s'afficher même quand on ne veut pas. Les
liens hypertexte sur une page d'accueil obligent à revenir sur cette
page. Bof... Je préfère largement la solution d'un menu reprenant la
liste des onglets.
Sur l'excellent Site "Aux choses du temps..." :-), comme prévu, je
trouve mon bonheur : MenuFeuilleChipPerson.bas
Mais pas tout à fait :
si tout fonctionne correctement à l'ouverture, à la fermeture, c'est le
menu fichier qui disparait chez moi tandis que le menu feuilles reste à
l'écran.
Par ailleurs, j'aimerais quelques modifs :
Je ne voudrais pas que les feuilles de tous les classeurs ouverts se
trouvent listées dans ce menu mais seulement celles du classeur dans
lequel est enregistrée la macro.
Et puis quand il y a beaucoup de feuilles, la liste apparait avec en bas
"plus de feuilles". Est-il possible de modifier ceci pour soit indiqué
au départ le nombre de feuilles à afficher ou les afficher toutes ?
merci d'avance !
--
Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta
SUPER !
C'est absolument parfait à une toute petite remarque près : il faut dans
le workbook_open ecrire
CreerLeMenuFeuilles (15)
autrement dit, l'argument (nombre de feuilles à afficher au départ)
n'est pas facultatif.
Merci ++ à FS, Chip et toi c'est super pratique !
et quel service ! je pose la question, je vais déjeuner, je bois mon
café et hop j'ai la réponse, le tout avec le sourire :-)
ca en vaut bien un en retour :-)
Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta
le 05/11/2003 12:30:
Bonjour Misange
Je ne suis pas fs, mais vu que cela m'intéresse aussi, je tente de
t'apporter une solution.
1°) Place le code ci-dessous dans un module
2°) ajoute l'appel de CreerLeMenuFeuilles dans l'évènement Workbook_Open
3°) Ajoute l'appel de SupprimerLeMenuFeuilles dans l'évènement
Workbook_BeforeClose.
J'ai testé rapidement chez moi et ça veut bien marcher !
Cordialement
Pascal
Public LeNombre As Integer
Const cTag As String = "SpecialMisange"
Sub CreerLeMenuFeuilles(Nbf As Integer)
With Application.CommandBars
If Not .FindControl(Tag:=cTag) Is Nothing Then
.FindControl(Tag:=cTag).Delete
End If
End With
Set MenuFeuilles Application.CommandBars(1).Controls.Add(msoControlPopup,
, , , True)
With MenuFeuilles
.Caption = "&Menu Feuilles"
.Tag = cTag
.BeginGroup = False
End With
Set OptionsMenuFeuilles = MenuFeuilles.Controls.Add(msoControlPopup, , ,
,
True)
With OptionsMenuFeuilles
.Caption = "Options"
Set Option1 = .Controls.Add(msoControlButton, 1, , , True)
With Option1
.Caption = "Afficher toutes les feuilles"
.OnAction = "ToutesLesFeuilles"
End With
Set Option2 = .Controls.Add(msoControlButton, 1, , , True)
With Option2
.Caption = "Définr le nombre de feuilles à afficher"
.OnAction = "NombredeFeuilles"
End With
End With
Select Case Nbf
Case Is = 0
ToutesLesFeuilles
Case Is > ThisWorkbook.Sheets.Count
ToutesLesFeuilles
End Select
For i = 1 To Nbf
If Sheets(i).Visible = True Then
With MenuFeuilles
NF = "Feuille" & i
Set NF = .Controls.Add(msoControlButton, 1, , , True)
With NF
.Caption = Sheets(i).Name
.OnAction = "ActiverLaFeuille"
End With
End With
End If
Next i
End Sub
Sub SupprimerLeMenuFeuilles()
With Application.CommandBars
If Not .FindControl(Tag:=cTag) Is Nothing Then
.FindControl(Tag:=cTag).Delete
End If
End With
End Sub
Sub ToutesLesFeuilles()
CreerLeMenuFeuilles (ThisWorkbook.Sheets.Count)
End Sub
Sub NombredeFeuilles()
LeNombre = Application.InputBox("Combien de feuilles souhaites-tu
afficher
?", "Option menu Feuilles", , , , , , 1)
Select Case LeNombre
Case Is > ThisWorkbook.Sheets.Count
ToutesLesFeuilles
Case Is = 0
ToutesLesFeuilles
Case Is > 0 < ThisWorkbook.Sheets.Count
Sheets("Feuil1").Range("nbf") = LeNombre
End Select
CreerLeMenuFeuilles (LeNombre)
End Sub
Sub ActiverLaFeuille()
CommandBars("Workbook tabs").ShowPopup
End Sub
"Misange" <misange@devinezou.net> a écrit dans le message de
news:ucVdDV4oDHA.372@TK2MSFTNGP11.phx.gbl...
Bonjour Frédéric, et les autres ;-)
J'ai un classeur avec des tas d'onglets (situation évoquée par un autre
ici hier ou avant hier). Pour faciliter la compréhension je mets des
noms d'onglets assez descriptifs. Du coup on n'en voit que quelques uns
en bas de la page et pour se déplacer c'est casse pieds. La solution
avec des liens hypertextes ou avec un userform ne me convient pas
vraiment : le userform prend de la place sur la feuille et à la longue
c'est fastidieux de le voir s'afficher même quand on ne veut pas. Les
liens hypertexte sur une page d'accueil obligent à revenir sur cette
page. Bof... Je préfère largement la solution d'un menu reprenant la
liste des onglets.
Sur l'excellent Site "Aux choses du temps..." :-), comme prévu, je
trouve mon bonheur : MenuFeuilleChipPerson.bas
Mais pas tout à fait :
si tout fonctionne correctement à l'ouverture, à la fermeture, c'est le
menu fichier qui disparait chez moi tandis que le menu feuilles reste à
l'écran.
Par ailleurs, j'aimerais quelques modifs :
Je ne voudrais pas que les feuilles de tous les classeurs ouverts se
trouvent listées dans ce menu mais seulement celles du classeur dans
lequel est enregistrée la macro.
Et puis quand il y a beaucoup de feuilles, la liste apparait avec en bas
"plus de feuilles". Est-il possible de modifier ceci pour soit indiqué
au départ le nombre de feuilles à afficher ou les afficher toutes ?
merci d'avance !
--
Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta
SUPER !
C'est absolument parfait à une toute petite remarque près : il faut dans
le workbook_open ecrire
CreerLeMenuFeuilles (15)
autrement dit, l'argument (nombre de feuilles à afficher au départ)
n'est pas facultatif.
Merci ++ à FS, Chip et toi c'est super pratique !
et quel service ! je pose la question, je vais déjeuner, je bois mon
café et hop j'ai la réponse, le tout avec le sourire :-)
ca en vaut bien un en retour :-)
Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta
le 05/11/2003 12:30:Bonjour Misange
Je ne suis pas fs, mais vu que cela m'intéresse aussi, je tente de
t'apporter une solution.
1°) Place le code ci-dessous dans un module
2°) ajoute l'appel de CreerLeMenuFeuilles dans l'évènement Workbook_Open
3°) Ajoute l'appel de SupprimerLeMenuFeuilles dans l'évènement
Workbook_BeforeClose.
J'ai testé rapidement chez moi et ça veut bien marcher !
Cordialement
Pascal
Public LeNombre As Integer
Const cTag As String = "SpecialMisange"
Sub CreerLeMenuFeuilles(Nbf As Integer)
With Application.CommandBars
If Not .FindControl(Tag:=cTag) Is Nothing Then
.FindControl(Tag:=cTag).Delete
End If
End With
Set MenuFeuilles Application.CommandBars(1).Controls.Add(msoControlPopup,
, , , True)
With MenuFeuilles
.Caption = "&Menu Feuilles"
.Tag = cTag
.BeginGroup = False
End With
Set OptionsMenuFeuilles = MenuFeuilles.Controls.Add(msoControlPopup, , ,
,
True)
With OptionsMenuFeuilles
.Caption = "Options"
Set Option1 = .Controls.Add(msoControlButton, 1, , , True)
With Option1
.Caption = "Afficher toutes les feuilles"
.OnAction = "ToutesLesFeuilles"
End With
Set Option2 = .Controls.Add(msoControlButton, 1, , , True)
With Option2
.Caption = "Définr le nombre de feuilles à afficher"
.OnAction = "NombredeFeuilles"
End With
End With
Select Case Nbf
Case Is = 0
ToutesLesFeuilles
Case Is > ThisWorkbook.Sheets.Count
ToutesLesFeuilles
End Select
For i = 1 To Nbf
If Sheets(i).Visible = True Then
With MenuFeuilles
NF = "Feuille" & i
Set NF = .Controls.Add(msoControlButton, 1, , , True)
With NF
.Caption = Sheets(i).Name
.OnAction = "ActiverLaFeuille"
End With
End With
End If
Next i
End Sub
Sub SupprimerLeMenuFeuilles()
With Application.CommandBars
If Not .FindControl(Tag:=cTag) Is Nothing Then
.FindControl(Tag:=cTag).Delete
End If
End With
End Sub
Sub ToutesLesFeuilles()
CreerLeMenuFeuilles (ThisWorkbook.Sheets.Count)
End Sub
Sub NombredeFeuilles()
LeNombre = Application.InputBox("Combien de feuilles souhaites-tu
afficher
?", "Option menu Feuilles", , , , , , 1)
Select Case LeNombre
Case Is > ThisWorkbook.Sheets.Count
ToutesLesFeuilles
Case Is = 0
ToutesLesFeuilles
Case Is > 0 < ThisWorkbook.Sheets.Count
Sheets("Feuil1").Range("nbf") = LeNombre
End Select
CreerLeMenuFeuilles (LeNombre)
End Sub
Sub ActiverLaFeuille()
CommandBars("Workbook tabs").ShowPopup
End Sub
"Misange" a écrit dans le message de
news:Bonjour Frédéric, et les autres ;-)
J'ai un classeur avec des tas d'onglets (situation évoquée par un autre
ici hier ou avant hier). Pour faciliter la compréhension je mets des
noms d'onglets assez descriptifs. Du coup on n'en voit que quelques uns
en bas de la page et pour se déplacer c'est casse pieds. La solution
avec des liens hypertextes ou avec un userform ne me convient pas
vraiment : le userform prend de la place sur la feuille et à la longue
c'est fastidieux de le voir s'afficher même quand on ne veut pas. Les
liens hypertexte sur une page d'accueil obligent à revenir sur cette
page. Bof... Je préfère largement la solution d'un menu reprenant la
liste des onglets.
Sur l'excellent Site "Aux choses du temps..." :-), comme prévu, je
trouve mon bonheur : MenuFeuilleChipPerson.bas
Mais pas tout à fait :
si tout fonctionne correctement à l'ouverture, à la fermeture, c'est le
menu fichier qui disparait chez moi tandis que le menu feuilles reste à
l'écran.
Par ailleurs, j'aimerais quelques modifs :
Je ne voudrais pas que les feuilles de tous les classeurs ouverts se
trouvent listées dans ce menu mais seulement celles du classeur dans
lequel est enregistrée la macro.
Et puis quand il y a beaucoup de feuilles, la liste apparait avec en bas
"plus de feuilles". Est-il possible de modifier ceci pour soit indiqué
au départ le nombre de feuilles à afficher ou les afficher toutes ?
merci d'avance !
--
Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta
Misange
Effectivement, voici ce que j'avais oublié de te donner :
Private Sub Workbook_BeforeClose(Cancel As Boolean)
SupprimerLeMenuFeuilles
End Sub
Private Sub Workbook_Open()
'On inscrit un nombre par défaut dans une cellule d'une des feuilles du
classeur par exemple :
LeNombre = Sheets("Feuil1").Range("nbf").Value
CreerLeMenuFeuilles (LeNombre)
End Sub
En tout cas, je suis personnellement trop heureux de pouvoir t'aider en
retour de ta contribution très précieuse :-))
Cordialement
Pascal
"Misange" a écrit dans le message de
news:SUPER !
C'est absolument parfait à une toute petite remarque près : il faut dans
le workbook_open ecrire
CreerLeMenuFeuilles (15)
autrement dit, l'argument (nombre de feuilles à afficher au départ)
n'est pas facultatif.
Merci ++ à FS, Chip et toi c'est super pratique !
et quel service ! je pose la question, je vais déjeuner, je bois mon
café et hop j'ai la réponse, le tout avec le sourire :-)
ca en vaut bien un en retour :-)
Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta
le 05/11/2003 12:30:Bonjour Misange
Je ne suis pas fs, mais vu que cela m'intéresse aussi, je tente de
t'apporter une solution.
1°) Place le code ci-dessous dans un module
2°) ajoute l'appel de CreerLeMenuFeuilles dans l'évènement Workbook_Open
3°) Ajoute l'appel de SupprimerLeMenuFeuilles dans l'évènement
Workbook_BeforeClose.
J'ai testé rapidement chez moi et ça veut bien marcher !
Cordialement
Pascal
Public LeNombre As Integer
Const cTag As String = "SpecialMisange"
Sub CreerLeMenuFeuilles(Nbf As Integer)
With Application.CommandBars
If Not .FindControl(Tag:=cTag) Is Nothing Then
.FindControl(Tag:=cTag).Delete
End If
End With
Set MenuFeuilles >
Application.CommandBars(1).Controls.Add(msoControlPopup,, , , True)
With MenuFeuilles
.Caption = "&Menu Feuilles"
.Tag = cTag
.BeginGroup = False
End With
Set OptionsMenuFeuilles = MenuFeuilles.Controls.Add(msoControlPopup, , ,
,True)
With OptionsMenuFeuilles
.Caption = "Options"
Set Option1 = .Controls.Add(msoControlButton, 1, , , True)
With Option1
.Caption = "Afficher toutes les feuilles"
.OnAction = "ToutesLesFeuilles"
End With
Set Option2 = .Controls.Add(msoControlButton, 1, , , True)
With Option2
.Caption = "Définr le nombre de feuilles à afficher"
.OnAction = "NombredeFeuilles"
End With
End With
Select Case Nbf
Case Is = 0
ToutesLesFeuilles
Case Is > ThisWorkbook.Sheets.Count
ToutesLesFeuilles
End Select
For i = 1 To Nbf
If Sheets(i).Visible = True Then
With MenuFeuilles
NF = "Feuille" & i
Set NF = .Controls.Add(msoControlButton, 1, , , True)
With NF
.Caption = Sheets(i).Name
.OnAction = "ActiverLaFeuille"
End With
End With
End If
Next i
End Sub
Sub SupprimerLeMenuFeuilles()
With Application.CommandBars
If Not .FindControl(Tag:=cTag) Is Nothing Then
.FindControl(Tag:=cTag).Delete
End If
End With
End Sub
Sub ToutesLesFeuilles()
CreerLeMenuFeuilles (ThisWorkbook.Sheets.Count)
End Sub
Sub NombredeFeuilles()
LeNombre = Application.InputBox("Combien de feuilles souhaites-tu
afficher?", "Option menu Feuilles", , , , , , 1)
Select Case LeNombre
Case Is > ThisWorkbook.Sheets.Count
ToutesLesFeuilles
Case Is = 0
ToutesLesFeuilles
Case Is > 0 < ThisWorkbook.Sheets.Count
Sheets("Feuil1").Range("nbf") = LeNombre
End Select
CreerLeMenuFeuilles (LeNombre)
End Sub
Sub ActiverLaFeuille()
CommandBars("Workbook tabs").ShowPopup
End Sub
"Misange" a écrit dans le message de
news:Bonjour Frédéric, et les autres ;-)
J'ai un classeur avec des tas d'onglets (situation évoquée par un autre
ici hier ou avant hier). Pour faciliter la compréhension je mets des
noms d'onglets assez descriptifs. Du coup on n'en voit que quelques uns
en bas de la page et pour se déplacer c'est casse pieds. La solution
avec des liens hypertextes ou avec un userform ne me convient pas
vraiment : le userform prend de la place sur la feuille et à la longue
c'est fastidieux de le voir s'afficher même quand on ne veut pas. Les
liens hypertexte sur une page d'accueil obligent à revenir sur cette
page. Bof... Je préfère largement la solution d'un menu reprenant la
liste des onglets.
Sur l'excellent Site "Aux choses du temps..." :-), comme prévu, je
trouve mon bonheur : MenuFeuilleChipPerson.bas
Mais pas tout à fait :
si tout fonctionne correctement à l'ouverture, à la fermeture, c'est le
menu fichier qui disparait chez moi tandis que le menu feuilles reste à
l'écran.
Par ailleurs, j'aimerais quelques modifs :
Je ne voudrais pas que les feuilles de tous les classeurs ouverts se
trouvent listées dans ce menu mais seulement celles du classeur dans
lequel est enregistrée la macro.
Et puis quand il y a beaucoup de feuilles, la liste apparait avec en bas
"plus de feuilles". Est-il possible de modifier ceci pour soit indiqué
au départ le nombre de feuilles à afficher ou les afficher toutes ?
merci d'avance !
--
Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta
Misange
Effectivement, voici ce que j'avais oublié de te donner :
Private Sub Workbook_BeforeClose(Cancel As Boolean)
SupprimerLeMenuFeuilles
End Sub
Private Sub Workbook_Open()
'On inscrit un nombre par défaut dans une cellule d'une des feuilles du
classeur par exemple :
LeNombre = Sheets("Feuil1").Range("nbf").Value
CreerLeMenuFeuilles (LeNombre)
End Sub
En tout cas, je suis personnellement trop heureux de pouvoir t'aider en
retour de ta contribution très précieuse :-))
Cordialement
Pascal
"Misange" <misange@devinezou.net> a écrit dans le message de
news:Oodo3b5oDHA.3612@TK2MSFTNGP11.phx.gbl...
SUPER !
C'est absolument parfait à une toute petite remarque près : il faut dans
le workbook_open ecrire
CreerLeMenuFeuilles (15)
autrement dit, l'argument (nombre de feuilles à afficher au départ)
n'est pas facultatif.
Merci ++ à FS, Chip et toi c'est super pratique !
et quel service ! je pose la question, je vais déjeuner, je bois mon
café et hop j'ai la réponse, le tout avec le sourire :-)
ca en vaut bien un en retour :-)
Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta
le 05/11/2003 12:30:
Bonjour Misange
Je ne suis pas fs, mais vu que cela m'intéresse aussi, je tente de
t'apporter une solution.
1°) Place le code ci-dessous dans un module
2°) ajoute l'appel de CreerLeMenuFeuilles dans l'évènement Workbook_Open
3°) Ajoute l'appel de SupprimerLeMenuFeuilles dans l'évènement
Workbook_BeforeClose.
J'ai testé rapidement chez moi et ça veut bien marcher !
Cordialement
Pascal
Public LeNombre As Integer
Const cTag As String = "SpecialMisange"
Sub CreerLeMenuFeuilles(Nbf As Integer)
With Application.CommandBars
If Not .FindControl(Tag:=cTag) Is Nothing Then
.FindControl(Tag:=cTag).Delete
End If
End With
Set MenuFeuilles >
Application.CommandBars(1).Controls.Add(msoControlPopup,
, , , True)
With MenuFeuilles
.Caption = "&Menu Feuilles"
.Tag = cTag
.BeginGroup = False
End With
Set OptionsMenuFeuilles = MenuFeuilles.Controls.Add(msoControlPopup, , ,
,
True)
With OptionsMenuFeuilles
.Caption = "Options"
Set Option1 = .Controls.Add(msoControlButton, 1, , , True)
With Option1
.Caption = "Afficher toutes les feuilles"
.OnAction = "ToutesLesFeuilles"
End With
Set Option2 = .Controls.Add(msoControlButton, 1, , , True)
With Option2
.Caption = "Définr le nombre de feuilles à afficher"
.OnAction = "NombredeFeuilles"
End With
End With
Select Case Nbf
Case Is = 0
ToutesLesFeuilles
Case Is > ThisWorkbook.Sheets.Count
ToutesLesFeuilles
End Select
For i = 1 To Nbf
If Sheets(i).Visible = True Then
With MenuFeuilles
NF = "Feuille" & i
Set NF = .Controls.Add(msoControlButton, 1, , , True)
With NF
.Caption = Sheets(i).Name
.OnAction = "ActiverLaFeuille"
End With
End With
End If
Next i
End Sub
Sub SupprimerLeMenuFeuilles()
With Application.CommandBars
If Not .FindControl(Tag:=cTag) Is Nothing Then
.FindControl(Tag:=cTag).Delete
End If
End With
End Sub
Sub ToutesLesFeuilles()
CreerLeMenuFeuilles (ThisWorkbook.Sheets.Count)
End Sub
Sub NombredeFeuilles()
LeNombre = Application.InputBox("Combien de feuilles souhaites-tu
afficher
?", "Option menu Feuilles", , , , , , 1)
Select Case LeNombre
Case Is > ThisWorkbook.Sheets.Count
ToutesLesFeuilles
Case Is = 0
ToutesLesFeuilles
Case Is > 0 < ThisWorkbook.Sheets.Count
Sheets("Feuil1").Range("nbf") = LeNombre
End Select
CreerLeMenuFeuilles (LeNombre)
End Sub
Sub ActiverLaFeuille()
CommandBars("Workbook tabs").ShowPopup
End Sub
"Misange" <misange@devinezou.net> a écrit dans le message de
news:ucVdDV4oDHA.372@TK2MSFTNGP11.phx.gbl...
Bonjour Frédéric, et les autres ;-)
J'ai un classeur avec des tas d'onglets (situation évoquée par un autre
ici hier ou avant hier). Pour faciliter la compréhension je mets des
noms d'onglets assez descriptifs. Du coup on n'en voit que quelques uns
en bas de la page et pour se déplacer c'est casse pieds. La solution
avec des liens hypertextes ou avec un userform ne me convient pas
vraiment : le userform prend de la place sur la feuille et à la longue
c'est fastidieux de le voir s'afficher même quand on ne veut pas. Les
liens hypertexte sur une page d'accueil obligent à revenir sur cette
page. Bof... Je préfère largement la solution d'un menu reprenant la
liste des onglets.
Sur l'excellent Site "Aux choses du temps..." :-), comme prévu, je
trouve mon bonheur : MenuFeuilleChipPerson.bas
Mais pas tout à fait :
si tout fonctionne correctement à l'ouverture, à la fermeture, c'est le
menu fichier qui disparait chez moi tandis que le menu feuilles reste à
l'écran.
Par ailleurs, j'aimerais quelques modifs :
Je ne voudrais pas que les feuilles de tous les classeurs ouverts se
trouvent listées dans ce menu mais seulement celles du classeur dans
lequel est enregistrée la macro.
Et puis quand il y a beaucoup de feuilles, la liste apparait avec en bas
"plus de feuilles". Est-il possible de modifier ceci pour soit indiqué
au départ le nombre de feuilles à afficher ou les afficher toutes ?
merci d'avance !
--
Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta
Misange
Effectivement, voici ce que j'avais oublié de te donner :
Private Sub Workbook_BeforeClose(Cancel As Boolean)
SupprimerLeMenuFeuilles
End Sub
Private Sub Workbook_Open()
'On inscrit un nombre par défaut dans une cellule d'une des feuilles du
classeur par exemple :
LeNombre = Sheets("Feuil1").Range("nbf").Value
CreerLeMenuFeuilles (LeNombre)
End Sub
En tout cas, je suis personnellement trop heureux de pouvoir t'aider en
retour de ta contribution très précieuse :-))
Cordialement
Pascal
"Misange" a écrit dans le message de
news:SUPER !
C'est absolument parfait à une toute petite remarque près : il faut dans
le workbook_open ecrire
CreerLeMenuFeuilles (15)
autrement dit, l'argument (nombre de feuilles à afficher au départ)
n'est pas facultatif.
Merci ++ à FS, Chip et toi c'est super pratique !
et quel service ! je pose la question, je vais déjeuner, je bois mon
café et hop j'ai la réponse, le tout avec le sourire :-)
ca en vaut bien un en retour :-)
Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta
le 05/11/2003 12:30:Bonjour Misange
Je ne suis pas fs, mais vu que cela m'intéresse aussi, je tente de
t'apporter une solution.
1°) Place le code ci-dessous dans un module
2°) ajoute l'appel de CreerLeMenuFeuilles dans l'évènement Workbook_Open
3°) Ajoute l'appel de SupprimerLeMenuFeuilles dans l'évènement
Workbook_BeforeClose.
J'ai testé rapidement chez moi et ça veut bien marcher !
Cordialement
Pascal
Public LeNombre As Integer
Const cTag As String = "SpecialMisange"
Sub CreerLeMenuFeuilles(Nbf As Integer)
With Application.CommandBars
If Not .FindControl(Tag:=cTag) Is Nothing Then
.FindControl(Tag:=cTag).Delete
End If
End With
Set MenuFeuilles >
Application.CommandBars(1).Controls.Add(msoControlPopup,, , , True)
With MenuFeuilles
.Caption = "&Menu Feuilles"
.Tag = cTag
.BeginGroup = False
End With
Set OptionsMenuFeuilles = MenuFeuilles.Controls.Add(msoControlPopup, , ,
,True)
With OptionsMenuFeuilles
.Caption = "Options"
Set Option1 = .Controls.Add(msoControlButton, 1, , , True)
With Option1
.Caption = "Afficher toutes les feuilles"
.OnAction = "ToutesLesFeuilles"
End With
Set Option2 = .Controls.Add(msoControlButton, 1, , , True)
With Option2
.Caption = "Définr le nombre de feuilles à afficher"
.OnAction = "NombredeFeuilles"
End With
End With
Select Case Nbf
Case Is = 0
ToutesLesFeuilles
Case Is > ThisWorkbook.Sheets.Count
ToutesLesFeuilles
End Select
For i = 1 To Nbf
If Sheets(i).Visible = True Then
With MenuFeuilles
NF = "Feuille" & i
Set NF = .Controls.Add(msoControlButton, 1, , , True)
With NF
.Caption = Sheets(i).Name
.OnAction = "ActiverLaFeuille"
End With
End With
End If
Next i
End Sub
Sub SupprimerLeMenuFeuilles()
With Application.CommandBars
If Not .FindControl(Tag:=cTag) Is Nothing Then
.FindControl(Tag:=cTag).Delete
End If
End With
End Sub
Sub ToutesLesFeuilles()
CreerLeMenuFeuilles (ThisWorkbook.Sheets.Count)
End Sub
Sub NombredeFeuilles()
LeNombre = Application.InputBox("Combien de feuilles souhaites-tu
afficher?", "Option menu Feuilles", , , , , , 1)
Select Case LeNombre
Case Is > ThisWorkbook.Sheets.Count
ToutesLesFeuilles
Case Is = 0
ToutesLesFeuilles
Case Is > 0 < ThisWorkbook.Sheets.Count
Sheets("Feuil1").Range("nbf") = LeNombre
End Select
CreerLeMenuFeuilles (LeNombre)
End Sub
Sub ActiverLaFeuille()
CommandBars("Workbook tabs").ShowPopup
End Sub
"Misange" a écrit dans le message de
news:Bonjour Frédéric, et les autres ;-)
J'ai un classeur avec des tas d'onglets (situation évoquée par un autre
ici hier ou avant hier). Pour faciliter la compréhension je mets des
noms d'onglets assez descriptifs. Du coup on n'en voit que quelques uns
en bas de la page et pour se déplacer c'est casse pieds. La solution
avec des liens hypertextes ou avec un userform ne me convient pas
vraiment : le userform prend de la place sur la feuille et à la longue
c'est fastidieux de le voir s'afficher même quand on ne veut pas. Les
liens hypertexte sur une page d'accueil obligent à revenir sur cette
page. Bof... Je préfère largement la solution d'un menu reprenant la
liste des onglets.
Sur l'excellent Site "Aux choses du temps..." :-), comme prévu, je
trouve mon bonheur : MenuFeuilleChipPerson.bas
Mais pas tout à fait :
si tout fonctionne correctement à l'ouverture, à la fermeture, c'est le
menu fichier qui disparait chez moi tandis que le menu feuilles reste à
l'écran.
Par ailleurs, j'aimerais quelques modifs :
Je ne voudrais pas que les feuilles de tous les classeurs ouverts se
trouvent listées dans ce menu mais seulement celles du classeur dans
lequel est enregistrée la macro.
Et puis quand il y a beaucoup de feuilles, la liste apparait avec en bas
"plus de feuilles". Est-il possible de modifier ceci pour soit indiqué
au départ le nombre de feuilles à afficher ou les afficher toutes ?
merci d'avance !
--
Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta
Sinon, pour compléter l'exemple et éviter l'apparition du popup de sélection
des feuilles (qui je trouve fait un peu double-emploi avec le menu), et
appliquer (en l'adaptant) la méthode de Chip Pearson :
1°) Modifie dans CreerLeMenuFeuilles la partie ci-dessous
For i = 1 To Nbf
If Sheets(i).Visible = True Then
With MenuFeuilles
NF = "Feuille" & i
Set NF = .Controls.Add(msoControlButton, 1, , , True)
With NF
.Caption = Sheets(i).Name
.OnAction = "ActiverLaFeuille"
.Tag = Sheets(i).Name
End With
End With
End If
Next i
2°) Modifie la macro ActiverLaFeuille comme ceci :
Sub ActiverLaFeuille()
Sheets(Application.CommandBars.ActionControl.Tag).Activate
End Sub
Cordialement
Pascal
"Misange" a écrit dans le message de
news:SUPER !
C'est absolument parfait à une toute petite remarque près : il faut dans
le workbook_open ecrire
CreerLeMenuFeuilles (15)
autrement dit, l'argument (nombre de feuilles à afficher au départ)
n'est pas facultatif.
Merci ++ à FS, Chip et toi c'est super pratique !
et quel service ! je pose la question, je vais déjeuner, je bois mon
café et hop j'ai la réponse, le tout avec le sourire :-)
ca en vaut bien un en retour :-)
Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta
le 05/11/2003 12:30:Bonjour Misange
Je ne suis pas fs, mais vu que cela m'intéresse aussi, je tente de
t'apporter une solution.
1°) Place le code ci-dessous dans un module
2°) ajoute l'appel de CreerLeMenuFeuilles dans l'évènement Workbook_Open
3°) Ajoute l'appel de SupprimerLeMenuFeuilles dans l'évènement
Workbook_BeforeClose.
J'ai testé rapidement chez moi et ça veut bien marcher !
Cordialement
Pascal
Public LeNombre As Integer
Const cTag As String = "SpecialMisange"
Sub CreerLeMenuFeuilles(Nbf As Integer)
With Application.CommandBars
If Not .FindControl(Tag:=cTag) Is Nothing Then
.FindControl(Tag:=cTag).Delete
End If
End With
Set MenuFeuilles >
Application.CommandBars(1).Controls.Add(msoControlPopup,, , , True)
With MenuFeuilles
.Caption = "&Menu Feuilles"
.Tag = cTag
.BeginGroup = False
End With
Set OptionsMenuFeuilles = MenuFeuilles.Controls.Add(msoControlPopup, , ,
,True)
With OptionsMenuFeuilles
.Caption = "Options"
Set Option1 = .Controls.Add(msoControlButton, 1, , , True)
With Option1
.Caption = "Afficher toutes les feuilles"
.OnAction = "ToutesLesFeuilles"
End With
Set Option2 = .Controls.Add(msoControlButton, 1, , , True)
With Option2
.Caption = "Définr le nombre de feuilles à afficher"
.OnAction = "NombredeFeuilles"
End With
End With
Select Case Nbf
Case Is = 0
ToutesLesFeuilles
Case Is > ThisWorkbook.Sheets.Count
ToutesLesFeuilles
End Select
For i = 1 To Nbf
If Sheets(i).Visible = True Then
With MenuFeuilles
NF = "Feuille" & i
Set NF = .Controls.Add(msoControlButton, 1, , , True)
With NF
.Caption = Sheets(i).Name
.OnAction = "ActiverLaFeuille"
End With
End With
End If
Next i
End Sub
Sub SupprimerLeMenuFeuilles()
With Application.CommandBars
If Not .FindControl(Tag:=cTag) Is Nothing Then
.FindControl(Tag:=cTag).Delete
End If
End With
End Sub
Sub ToutesLesFeuilles()
CreerLeMenuFeuilles (ThisWorkbook.Sheets.Count)
End Sub
Sub NombredeFeuilles()
LeNombre = Application.InputBox("Combien de feuilles souhaites-tu
afficher?", "Option menu Feuilles", , , , , , 1)
Select Case LeNombre
Case Is > ThisWorkbook.Sheets.Count
ToutesLesFeuilles
Case Is = 0
ToutesLesFeuilles
Case Is > 0 < ThisWorkbook.Sheets.Count
Sheets("Feuil1").Range("nbf") = LeNombre
End Select
CreerLeMenuFeuilles (LeNombre)
End Sub
Sub ActiverLaFeuille()
CommandBars("Workbook tabs").ShowPopup
End Sub
"Misange" a écrit dans le message de
news:Bonjour Frédéric, et les autres ;-)
J'ai un classeur avec des tas d'onglets (situation évoquée par un autre
ici hier ou avant hier). Pour faciliter la compréhension je mets des
noms d'onglets assez descriptifs. Du coup on n'en voit que quelques uns
en bas de la page et pour se déplacer c'est casse pieds. La solution
avec des liens hypertextes ou avec un userform ne me convient pas
vraiment : le userform prend de la place sur la feuille et à la longue
c'est fastidieux de le voir s'afficher même quand on ne veut pas. Les
liens hypertexte sur une page d'accueil obligent à revenir sur cette
page. Bof... Je préfère largement la solution d'un menu reprenant la
liste des onglets.
Sur l'excellent Site "Aux choses du temps..." :-), comme prévu, je
trouve mon bonheur : MenuFeuilleChipPerson.bas
Mais pas tout à fait :
si tout fonctionne correctement à l'ouverture, à la fermeture, c'est le
menu fichier qui disparait chez moi tandis que le menu feuilles reste à
l'écran.
Par ailleurs, j'aimerais quelques modifs :
Je ne voudrais pas que les feuilles de tous les classeurs ouverts se
trouvent listées dans ce menu mais seulement celles du classeur dans
lequel est enregistrée la macro.
Et puis quand il y a beaucoup de feuilles, la liste apparait avec en bas
"plus de feuilles". Est-il possible de modifier ceci pour soit indiqué
au départ le nombre de feuilles à afficher ou les afficher toutes ?
merci d'avance !
--
Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta
Sinon, pour compléter l'exemple et éviter l'apparition du popup de sélection
des feuilles (qui je trouve fait un peu double-emploi avec le menu), et
appliquer (en l'adaptant) la méthode de Chip Pearson :
1°) Modifie dans CreerLeMenuFeuilles la partie ci-dessous
For i = 1 To Nbf
If Sheets(i).Visible = True Then
With MenuFeuilles
NF = "Feuille" & i
Set NF = .Controls.Add(msoControlButton, 1, , , True)
With NF
.Caption = Sheets(i).Name
.OnAction = "ActiverLaFeuille"
.Tag = Sheets(i).Name
End With
End With
End If
Next i
2°) Modifie la macro ActiverLaFeuille comme ceci :
Sub ActiverLaFeuille()
Sheets(Application.CommandBars.ActionControl.Tag).Activate
End Sub
Cordialement
Pascal
"Misange" <misange@devinezou.net> a écrit dans le message de
news:Oodo3b5oDHA.3612@TK2MSFTNGP11.phx.gbl...
SUPER !
C'est absolument parfait à une toute petite remarque près : il faut dans
le workbook_open ecrire
CreerLeMenuFeuilles (15)
autrement dit, l'argument (nombre de feuilles à afficher au départ)
n'est pas facultatif.
Merci ++ à FS, Chip et toi c'est super pratique !
et quel service ! je pose la question, je vais déjeuner, je bois mon
café et hop j'ai la réponse, le tout avec le sourire :-)
ca en vaut bien un en retour :-)
Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta
le 05/11/2003 12:30:
Bonjour Misange
Je ne suis pas fs, mais vu que cela m'intéresse aussi, je tente de
t'apporter une solution.
1°) Place le code ci-dessous dans un module
2°) ajoute l'appel de CreerLeMenuFeuilles dans l'évènement Workbook_Open
3°) Ajoute l'appel de SupprimerLeMenuFeuilles dans l'évènement
Workbook_BeforeClose.
J'ai testé rapidement chez moi et ça veut bien marcher !
Cordialement
Pascal
Public LeNombre As Integer
Const cTag As String = "SpecialMisange"
Sub CreerLeMenuFeuilles(Nbf As Integer)
With Application.CommandBars
If Not .FindControl(Tag:=cTag) Is Nothing Then
.FindControl(Tag:=cTag).Delete
End If
End With
Set MenuFeuilles >
Application.CommandBars(1).Controls.Add(msoControlPopup,
, , , True)
With MenuFeuilles
.Caption = "&Menu Feuilles"
.Tag = cTag
.BeginGroup = False
End With
Set OptionsMenuFeuilles = MenuFeuilles.Controls.Add(msoControlPopup, , ,
,
True)
With OptionsMenuFeuilles
.Caption = "Options"
Set Option1 = .Controls.Add(msoControlButton, 1, , , True)
With Option1
.Caption = "Afficher toutes les feuilles"
.OnAction = "ToutesLesFeuilles"
End With
Set Option2 = .Controls.Add(msoControlButton, 1, , , True)
With Option2
.Caption = "Définr le nombre de feuilles à afficher"
.OnAction = "NombredeFeuilles"
End With
End With
Select Case Nbf
Case Is = 0
ToutesLesFeuilles
Case Is > ThisWorkbook.Sheets.Count
ToutesLesFeuilles
End Select
For i = 1 To Nbf
If Sheets(i).Visible = True Then
With MenuFeuilles
NF = "Feuille" & i
Set NF = .Controls.Add(msoControlButton, 1, , , True)
With NF
.Caption = Sheets(i).Name
.OnAction = "ActiverLaFeuille"
End With
End With
End If
Next i
End Sub
Sub SupprimerLeMenuFeuilles()
With Application.CommandBars
If Not .FindControl(Tag:=cTag) Is Nothing Then
.FindControl(Tag:=cTag).Delete
End If
End With
End Sub
Sub ToutesLesFeuilles()
CreerLeMenuFeuilles (ThisWorkbook.Sheets.Count)
End Sub
Sub NombredeFeuilles()
LeNombre = Application.InputBox("Combien de feuilles souhaites-tu
afficher
?", "Option menu Feuilles", , , , , , 1)
Select Case LeNombre
Case Is > ThisWorkbook.Sheets.Count
ToutesLesFeuilles
Case Is = 0
ToutesLesFeuilles
Case Is > 0 < ThisWorkbook.Sheets.Count
Sheets("Feuil1").Range("nbf") = LeNombre
End Select
CreerLeMenuFeuilles (LeNombre)
End Sub
Sub ActiverLaFeuille()
CommandBars("Workbook tabs").ShowPopup
End Sub
"Misange" <misange@devinezou.net> a écrit dans le message de
news:ucVdDV4oDHA.372@TK2MSFTNGP11.phx.gbl...
Bonjour Frédéric, et les autres ;-)
J'ai un classeur avec des tas d'onglets (situation évoquée par un autre
ici hier ou avant hier). Pour faciliter la compréhension je mets des
noms d'onglets assez descriptifs. Du coup on n'en voit que quelques uns
en bas de la page et pour se déplacer c'est casse pieds. La solution
avec des liens hypertextes ou avec un userform ne me convient pas
vraiment : le userform prend de la place sur la feuille et à la longue
c'est fastidieux de le voir s'afficher même quand on ne veut pas. Les
liens hypertexte sur une page d'accueil obligent à revenir sur cette
page. Bof... Je préfère largement la solution d'un menu reprenant la
liste des onglets.
Sur l'excellent Site "Aux choses du temps..." :-), comme prévu, je
trouve mon bonheur : MenuFeuilleChipPerson.bas
Mais pas tout à fait :
si tout fonctionne correctement à l'ouverture, à la fermeture, c'est le
menu fichier qui disparait chez moi tandis que le menu feuilles reste à
l'écran.
Par ailleurs, j'aimerais quelques modifs :
Je ne voudrais pas que les feuilles de tous les classeurs ouverts se
trouvent listées dans ce menu mais seulement celles du classeur dans
lequel est enregistrée la macro.
Et puis quand il y a beaucoup de feuilles, la liste apparait avec en bas
"plus de feuilles". Est-il possible de modifier ceci pour soit indiqué
au départ le nombre de feuilles à afficher ou les afficher toutes ?
merci d'avance !
--
Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta
Sinon, pour compléter l'exemple et éviter l'apparition du popup de sélection
des feuilles (qui je trouve fait un peu double-emploi avec le menu), et
appliquer (en l'adaptant) la méthode de Chip Pearson :
1°) Modifie dans CreerLeMenuFeuilles la partie ci-dessous
For i = 1 To Nbf
If Sheets(i).Visible = True Then
With MenuFeuilles
NF = "Feuille" & i
Set NF = .Controls.Add(msoControlButton, 1, , , True)
With NF
.Caption = Sheets(i).Name
.OnAction = "ActiverLaFeuille"
.Tag = Sheets(i).Name
End With
End With
End If
Next i
2°) Modifie la macro ActiverLaFeuille comme ceci :
Sub ActiverLaFeuille()
Sheets(Application.CommandBars.ActionControl.Tag).Activate
End Sub
Cordialement
Pascal
"Misange" a écrit dans le message de
news:SUPER !
C'est absolument parfait à une toute petite remarque près : il faut dans
le workbook_open ecrire
CreerLeMenuFeuilles (15)
autrement dit, l'argument (nombre de feuilles à afficher au départ)
n'est pas facultatif.
Merci ++ à FS, Chip et toi c'est super pratique !
et quel service ! je pose la question, je vais déjeuner, je bois mon
café et hop j'ai la réponse, le tout avec le sourire :-)
ca en vaut bien un en retour :-)
Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta
le 05/11/2003 12:30:Bonjour Misange
Je ne suis pas fs, mais vu que cela m'intéresse aussi, je tente de
t'apporter une solution.
1°) Place le code ci-dessous dans un module
2°) ajoute l'appel de CreerLeMenuFeuilles dans l'évènement Workbook_Open
3°) Ajoute l'appel de SupprimerLeMenuFeuilles dans l'évènement
Workbook_BeforeClose.
J'ai testé rapidement chez moi et ça veut bien marcher !
Cordialement
Pascal
Public LeNombre As Integer
Const cTag As String = "SpecialMisange"
Sub CreerLeMenuFeuilles(Nbf As Integer)
With Application.CommandBars
If Not .FindControl(Tag:=cTag) Is Nothing Then
.FindControl(Tag:=cTag).Delete
End If
End With
Set MenuFeuilles >
Application.CommandBars(1).Controls.Add(msoControlPopup,, , , True)
With MenuFeuilles
.Caption = "&Menu Feuilles"
.Tag = cTag
.BeginGroup = False
End With
Set OptionsMenuFeuilles = MenuFeuilles.Controls.Add(msoControlPopup, , ,
,True)
With OptionsMenuFeuilles
.Caption = "Options"
Set Option1 = .Controls.Add(msoControlButton, 1, , , True)
With Option1
.Caption = "Afficher toutes les feuilles"
.OnAction = "ToutesLesFeuilles"
End With
Set Option2 = .Controls.Add(msoControlButton, 1, , , True)
With Option2
.Caption = "Définr le nombre de feuilles à afficher"
.OnAction = "NombredeFeuilles"
End With
End With
Select Case Nbf
Case Is = 0
ToutesLesFeuilles
Case Is > ThisWorkbook.Sheets.Count
ToutesLesFeuilles
End Select
For i = 1 To Nbf
If Sheets(i).Visible = True Then
With MenuFeuilles
NF = "Feuille" & i
Set NF = .Controls.Add(msoControlButton, 1, , , True)
With NF
.Caption = Sheets(i).Name
.OnAction = "ActiverLaFeuille"
End With
End With
End If
Next i
End Sub
Sub SupprimerLeMenuFeuilles()
With Application.CommandBars
If Not .FindControl(Tag:=cTag) Is Nothing Then
.FindControl(Tag:=cTag).Delete
End If
End With
End Sub
Sub ToutesLesFeuilles()
CreerLeMenuFeuilles (ThisWorkbook.Sheets.Count)
End Sub
Sub NombredeFeuilles()
LeNombre = Application.InputBox("Combien de feuilles souhaites-tu
afficher?", "Option menu Feuilles", , , , , , 1)
Select Case LeNombre
Case Is > ThisWorkbook.Sheets.Count
ToutesLesFeuilles
Case Is = 0
ToutesLesFeuilles
Case Is > 0 < ThisWorkbook.Sheets.Count
Sheets("Feuil1").Range("nbf") = LeNombre
End Select
CreerLeMenuFeuilles (LeNombre)
End Sub
Sub ActiverLaFeuille()
CommandBars("Workbook tabs").ShowPopup
End Sub
"Misange" a écrit dans le message de
news:Bonjour Frédéric, et les autres ;-)
J'ai un classeur avec des tas d'onglets (situation évoquée par un autre
ici hier ou avant hier). Pour faciliter la compréhension je mets des
noms d'onglets assez descriptifs. Du coup on n'en voit que quelques uns
en bas de la page et pour se déplacer c'est casse pieds. La solution
avec des liens hypertextes ou avec un userform ne me convient pas
vraiment : le userform prend de la place sur la feuille et à la longue
c'est fastidieux de le voir s'afficher même quand on ne veut pas. Les
liens hypertexte sur une page d'accueil obligent à revenir sur cette
page. Bof... Je préfère largement la solution d'un menu reprenant la
liste des onglets.
Sur l'excellent Site "Aux choses du temps..." :-), comme prévu, je
trouve mon bonheur : MenuFeuilleChipPerson.bas
Mais pas tout à fait :
si tout fonctionne correctement à l'ouverture, à la fermeture, c'est le
menu fichier qui disparait chez moi tandis que le menu feuilles reste à
l'écran.
Par ailleurs, j'aimerais quelques modifs :
Je ne voudrais pas que les feuilles de tous les classeurs ouverts se
trouvent listées dans ce menu mais seulement celles du classeur dans
lequel est enregistrée la macro.
Et puis quand il y a beaucoup de feuilles, la liste apparait avec en bas
"plus de feuilles". Est-il possible de modifier ceci pour soit indiqué
au départ le nombre de feuilles à afficher ou les afficher toutes ?
merci d'avance !
--
Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta
Bonjour Frédéric, et les autres ;-)
J'ai un classeur avec des tas d'onglets (situation évoquée
par un autre
ici hier ou avant hier). Pour faciliter la compréhension
je mets des
noms d'onglets assez descriptifs. Du coup on n'en voit que
quelques uns
en bas de la page et pour se déplacer c'est casse pieds.
La solution
avec des liens hypertextes ou avec un userform ne me
convient pas
vraiment : le userform prend de la place sur la feuille et
à la longue
c'est fastidieux de le voir s'afficher même quand on ne
veut pas. Les
liens hypertexte sur une page d'accueil obligent à revenir
sur cette
page. Bof... Je préfère largement la solution d'un menu
reprenant la
liste des onglets.
Sur l'excellent Site "Aux choses du temps..." :-), comme
prévu, je
trouve mon bonheur : MenuFeuilleChipPerson.bas
Mais pas tout à fait :
si tout fonctionne correctement à l'ouverture, à la
fermeture, c'est le
menu fichier qui disparait chez moi tandis que le menu
feuilles reste à
l'écran.
Par ailleurs, j'aimerais quelques modifs :
Je ne voudrais pas que les feuilles de tous les classeurs
ouverts se
trouvent listées dans ce menu mais seulement celles du
classeur dans
lequel est enregistrée la macro.
Et puis quand il y a beaucoup de feuilles, la liste
apparait avec en bas
"plus de feuilles". Est-il possible de modifier ceci pour
soit indiqué
au départ le nombre de feuilles à afficher ou les afficher
toutes ?
merci d'avance !
--
Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta
Bonjour Frédéric, et les autres ;-)
J'ai un classeur avec des tas d'onglets (situation évoquée
par un autre
ici hier ou avant hier). Pour faciliter la compréhension
je mets des
noms d'onglets assez descriptifs. Du coup on n'en voit que
quelques uns
en bas de la page et pour se déplacer c'est casse pieds.
La solution
avec des liens hypertextes ou avec un userform ne me
convient pas
vraiment : le userform prend de la place sur la feuille et
à la longue
c'est fastidieux de le voir s'afficher même quand on ne
veut pas. Les
liens hypertexte sur une page d'accueil obligent à revenir
sur cette
page. Bof... Je préfère largement la solution d'un menu
reprenant la
liste des onglets.
Sur l'excellent Site "Aux choses du temps..." :-), comme
prévu, je
trouve mon bonheur : MenuFeuilleChipPerson.bas
Mais pas tout à fait :
si tout fonctionne correctement à l'ouverture, à la
fermeture, c'est le
menu fichier qui disparait chez moi tandis que le menu
feuilles reste à
l'écran.
Par ailleurs, j'aimerais quelques modifs :
Je ne voudrais pas que les feuilles de tous les classeurs
ouverts se
trouvent listées dans ce menu mais seulement celles du
classeur dans
lequel est enregistrée la macro.
Et puis quand il y a beaucoup de feuilles, la liste
apparait avec en bas
"plus de feuilles". Est-il possible de modifier ceci pour
soit indiqué
au départ le nombre de feuilles à afficher ou les afficher
toutes ?
merci d'avance !
--
Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta
Bonjour Frédéric, et les autres ;-)
J'ai un classeur avec des tas d'onglets (situation évoquée
par un autre
ici hier ou avant hier). Pour faciliter la compréhension
je mets des
noms d'onglets assez descriptifs. Du coup on n'en voit que
quelques uns
en bas de la page et pour se déplacer c'est casse pieds.
La solution
avec des liens hypertextes ou avec un userform ne me
convient pas
vraiment : le userform prend de la place sur la feuille et
à la longue
c'est fastidieux de le voir s'afficher même quand on ne
veut pas. Les
liens hypertexte sur une page d'accueil obligent à revenir
sur cette
page. Bof... Je préfère largement la solution d'un menu
reprenant la
liste des onglets.
Sur l'excellent Site "Aux choses du temps..." :-), comme
prévu, je
trouve mon bonheur : MenuFeuilleChipPerson.bas
Mais pas tout à fait :
si tout fonctionne correctement à l'ouverture, à la
fermeture, c'est le
menu fichier qui disparait chez moi tandis que le menu
feuilles reste à
l'écran.
Par ailleurs, j'aimerais quelques modifs :
Je ne voudrais pas que les feuilles de tous les classeurs
ouverts se
trouvent listées dans ce menu mais seulement celles du
classeur dans
lequel est enregistrée la macro.
Et puis quand il y a beaucoup de feuilles, la liste
apparait avec en bas
"plus de feuilles". Est-il possible de modifier ceci pour
soit indiqué
au départ le nombre de feuilles à afficher ou les afficher
toutes ?
merci d'avance !
--
Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta
Bonjour Frédéric, et les autres ;-)
J'ai un classeur avec des tas d'onglets (situation évoquée par un autre
ici hier ou avant hier). Pour faciliter la compréhension je mets des
noms d'onglets assez descriptifs. Du coup on n'en voit que quelques uns
en bas de la page et pour se déplacer c'est casse pieds. La solution
avec des liens hypertextes ou avec un userform ne me convient pas
vraiment : le userform prend de la place sur la feuille et à la longue
c'est fastidieux de le voir s'afficher même quand on ne veut pas. Les
liens hypertexte sur une page d'accueil obligent à revenir sur cette
page. Bof... Je préfère largement la solution d'un menu reprenant la
liste des onglets.
Sur l'excellent Site "Aux choses du temps..." :-), comme prévu, je
trouve mon bonheur : MenuFeuilleChipPerson.bas
Mais pas tout à fait :
si tout fonctionne correctement à l'ouverture, à la fermeture, c'est le
menu fichier qui disparait chez moi tandis que le menu feuilles reste à
l'écran.
Par ailleurs, j'aimerais quelques modifs :
Je ne voudrais pas que les feuilles de tous les classeurs ouverts se
trouvent listées dans ce menu mais seulement celles du classeur dans
lequel est enregistrée la macro.
Et puis quand il y a beaucoup de feuilles, la liste apparait avec en bas
"plus de feuilles". Est-il possible de modifier ceci pour soit indiqué
au départ le nombre de feuilles à afficher ou les afficher toutes ?
merci d'avance !
--
Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta
Bonjour Frédéric, et les autres ;-)
J'ai un classeur avec des tas d'onglets (situation évoquée par un autre
ici hier ou avant hier). Pour faciliter la compréhension je mets des
noms d'onglets assez descriptifs. Du coup on n'en voit que quelques uns
en bas de la page et pour se déplacer c'est casse pieds. La solution
avec des liens hypertextes ou avec un userform ne me convient pas
vraiment : le userform prend de la place sur la feuille et à la longue
c'est fastidieux de le voir s'afficher même quand on ne veut pas. Les
liens hypertexte sur une page d'accueil obligent à revenir sur cette
page. Bof... Je préfère largement la solution d'un menu reprenant la
liste des onglets.
Sur l'excellent Site "Aux choses du temps..." :-), comme prévu, je
trouve mon bonheur : MenuFeuilleChipPerson.bas
Mais pas tout à fait :
si tout fonctionne correctement à l'ouverture, à la fermeture, c'est le
menu fichier qui disparait chez moi tandis que le menu feuilles reste à
l'écran.
Par ailleurs, j'aimerais quelques modifs :
Je ne voudrais pas que les feuilles de tous les classeurs ouverts se
trouvent listées dans ce menu mais seulement celles du classeur dans
lequel est enregistrée la macro.
Et puis quand il y a beaucoup de feuilles, la liste apparait avec en bas
"plus de feuilles". Est-il possible de modifier ceci pour soit indiqué
au départ le nombre de feuilles à afficher ou les afficher toutes ?
merci d'avance !
--
Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta
Bonjour Frédéric, et les autres ;-)
J'ai un classeur avec des tas d'onglets (situation évoquée par un autre
ici hier ou avant hier). Pour faciliter la compréhension je mets des
noms d'onglets assez descriptifs. Du coup on n'en voit que quelques uns
en bas de la page et pour se déplacer c'est casse pieds. La solution
avec des liens hypertextes ou avec un userform ne me convient pas
vraiment : le userform prend de la place sur la feuille et à la longue
c'est fastidieux de le voir s'afficher même quand on ne veut pas. Les
liens hypertexte sur une page d'accueil obligent à revenir sur cette
page. Bof... Je préfère largement la solution d'un menu reprenant la
liste des onglets.
Sur l'excellent Site "Aux choses du temps..." :-), comme prévu, je
trouve mon bonheur : MenuFeuilleChipPerson.bas
Mais pas tout à fait :
si tout fonctionne correctement à l'ouverture, à la fermeture, c'est le
menu fichier qui disparait chez moi tandis que le menu feuilles reste à
l'écran.
Par ailleurs, j'aimerais quelques modifs :
Je ne voudrais pas que les feuilles de tous les classeurs ouverts se
trouvent listées dans ce menu mais seulement celles du classeur dans
lequel est enregistrée la macro.
Et puis quand il y a beaucoup de feuilles, la liste apparait avec en bas
"plus de feuilles". Est-il possible de modifier ceci pour soit indiqué
au départ le nombre de feuilles à afficher ou les afficher toutes ?
merci d'avance !
--
Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta