OVH Cloud OVH Cloud

Nom des onglets

7 réponses
Avatar
David T.
Bonsoir à tous

2 questions

1) J'aimerais que dans la cellule A1 d'une feuille, il y ai le nom de
l'onglet en cours.

2) J'aimerais que dans P3, il y ai une liste de nom des onglets mais à
partir du 3ème jusqu'au xxxx (sans lien)

Merci de votre aide

Bonne soirée

David

7 réponses

Avatar
Philippe.R
Bonsoir David,

1) Ces trois lignes, dans le module de la feuille 1 le font :

Private Sub Worksheet_Activate()
[a1] = Sheets(1).Name
End Sub

2) ces cinq lignes devraient convenir

Sub listonglets()
For i = 3 To Sheets.Count
Cells(i, 16).Value = Sheets(i).Name
Next i
End Sub

--
Amicales Salutations

Retirer A_S_ pour répondre.
XL97 / XL2002

"David T." a écrit dans le message de
news:
Bonsoir à tous

2 questions

1) J'aimerais que dans la cellule A1 d'une feuille, il y ai le nom de
l'onglet en cours.

2) J'aimerais que dans P3, il y ai une liste de nom des onglets mais à
partir du 3ème jusqu'au xxxx (sans lien)

Merci de votre aide

Bonne soirée

David




Avatar
David T.
Bonjour Philippe
Déjà merci de ton aide très précieuse
Sans vous tous nos projets n'avanceraient jamais.

Concernant :
Private Sub Worksheet_Activate()
[a1] = Sheets(1).Name
End Sub
cela me donne : "Dialogue1" dans la cellule A1

Concernant :
Sub listonglets()
For i = 3 To Sheets.Count
Cells(i, 16).Value = Sheets(i).Name
Next i
End Sub
cela me donne une liste qui démarre en P3 jusqu'a P xxx alors que j'aurais
aimer
une liste deroulante juste dans P3.

Merci de ton aide
Bonne journée

Salutations
David
Avatar
Philippe.R
Bonsoir David,

Pour le 2, ceci convient il mieux ?

Sub listonglets2()
Dim i As Integer, t As Integer
t = Sheets.Count + 3
For i = 3 To Sheets.Count
Cells(i, 18).Value = Sheets(i).Name
Next i
ActiveWorkbook.Names.Add Name:="mesonglets", RefersToR1C1:= _
"þuil1!R3C18:R" & t & "C18"
Range("p3").Select
With Selection.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="=mesonglets"
End With
End Sub

Pour le 1, dans quelle feuille souhaites tu avoir en a1 le nom de l'onglet actif ?
--
Amicales Salutations

Retirer A_S_ pour répondre.
XL97 / XL2002
Pour suivre le forum :
news://msnews.microsoft.com/microsoft.public.fr.excel
(Voulez-vous vous abonner ? -> Oui)

"David T." <direction-ternoise@(supprimerceci)wanadoo.fr> a écrit dans le message de
news:
Bonjour Philippe
Déjà merci de ton aide très précieuse
Sans vous tous nos projets n'avanceraient jamais.

Concernant :
Private Sub Worksheet_Activate()
[a1] = Sheets(1).Name
End Sub
cela me donne : "Dialogue1" dans la cellule A1

Concernant :
Sub listonglets()
For i = 3 To Sheets.Count
Cells(i, 16).Value = Sheets(i).Name
Next i
End Sub
cela me donne une liste qui démarre en P3 jusqu'a P xxx alors que j'aurais
aimer
une liste deroulante juste dans P3.

Merci de ton aide
Bonne journée

Salutations
David




Avatar
David T.
Bonjour Philippe

Merci de ton aide

Pour le 1 :
J'aimerais que ce soit dans A2 de chaque feuille sauf la feuille "MENU" et
la feuille "Relevé Général"
soit : Feuille "DECEMBRE 2003" = En A2 : DECEMBRE 2003
Feuille "JANVIER 2004" = En A2 : JANVIER 2004

Pour le 2 :
Cela bloque à :
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="=mesonglets"

Quand j'essai avec un classeur vide avec feuille "Feuil1" "Feuil2" etc cela
fonctionne mais avec mon classeur
avec feuille nommée "JANVIER 2004" "FEVRIER 2004" cela ne fonctionne pas.

Peut'on eviter l'affichage dans la colonne R ?

J'ai mis ton code dans un module Private Sub Worksheet_Activate() cela à
t'il une importance ?
soit :
Private Sub Worksheet_Activate()
Dim i As Integer, t As Integer
t = Sheets.Count + 3
For i = 3 To Sheets.Count
Cells(i, 18).Value = Sheets(i).Name
Next i
ActiveWorkbook.Names.Add Name:="mesonglets", RefersToR1C1:= _
"þuil1!R3C18:R" & t & "C18"
Range("p3").Select
With Selection.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator: _
xlBetween, Formula1:="=mesonglets"
End With
End Sub
Avatar
David T.
Oupss

Désolé pour le 2 cela fonctionne, je n'avais pas remplacer le
"þuil1!R3C18:R" & t & "C18" par la feuille concernée soir
"=MENU!R3C18:R" & t & "C18"
Avatar
Alain CROS
Bonjour.

Pour le 1:
Dans la cellule A2 de toutes tes feuilles sauf MENU et Relevé Général.
=DROITE(CELLULE("filename";A2);NBCAR(CELLULE("filename";A2))-CHERCHE("]";CELLULE("filename";A2)))

Pour le 2.
Dans le module de ta feuille MENU
Sub ListeOngletsEnP3()
Dim I&, Formule$
For I = 3& To Sheets.Count
Formule = Formule & CStr(Sheets(I).Name) & ","
Next I
Formule = Left$(Formule, Len(Formule) - 1&)
With Range("P3").Validation
.Delete
.Add xlValidateList, xlValidAlertStop, , Formule
End With
End Sub

Alain CROS.
Avatar
David T.
Bonjour Bonsoir Alain

Un grand merci.

Cela fonctionne à merveille

Salutations

David