Excel Downloads
Forum

Précédent   Excel Downloads Forums > Archives > Forum Excel Downloads - Archives


 
 
LinkBack Outils de la discussion
Vieux 07/07/2004, 19h58   #1 (permalink)
monsieurPatate
Guest
 
Messages: n/a
Par défaut Extraction des noms pour une table des matières


Bonjour à tous,

J'ai un fichier Excel composé d'une trentaine de feuilles.
Je tente de monter une table des matières destiné à la fois à l'impression et à la fois de menu avec liens vers chacune des sections du fichier.
Chaque feuille peut contenir plus d'une section.

J'utilise la routine suivante:

Sub ListAllNames()
Row = 1
For Each n In ActiveWorkbook.Names
Cells(Row, 1) = n.Name
Cells(Row, 2) = n.Value
Cells(Row, 3) = " " & n.RefersTo
Row = Row + 1
Next n
End Sub

Je croyais que 'n.Value' m'afficherai le contenu mais le résultat est 0.
Je me demande donc comment alors afficher le contenu de la cellule et en faire un hyperlien?

Merci

Mr P.
 
ANNONCES
Vieux 07/07/2004, 20h13   #2 (permalink)
monsieurPatate
Guest
 
Messages: n/a
Par défaut Re: Extraction des noms pour une table des matières

re-bonjour,

j'oubliais...
Cette table des matières varie en fonction des pages destinées à l'impression. En effet, j'ai du code qui masque certaines feuilles non désirées par l'utilisateur. C'est pourquoi la table sera générée régulièrement et son contenu changera en fonction des feuilles masquées.

Bye!
 
Vieux 07/07/2004, 21h00   #3 (permalink)
jon
Guest
 
Messages: n/a
Par défaut Re: Extraction des noms pour une table des matières

bonsoir,

pas sûr, mais essaye plutôt

n.RefersTorange.value
 
Vieux 08/07/2004, 15h24   #4 (permalink)
monsieurPatate
Guest
 
Messages: n/a
Par défaut Re: Extraction des noms pour une table des matières

Merci Jon, ça fonctionne comme ça!

Y-a-t-il moyen de regrouper le tout pour en faire un genre d'hyperlien vers cette destination?

Merci
 
Vieux 08/07/2004, 15h43   #5 (permalink)
michel
Guest
 
Messages: n/a
Par défaut Re: Extraction des noms pour une table des matières

bonjour

tu peux essayer la macro ci-dessous pour créer des liens vers chaque cellule nommée

For Each n In ActiveWorkbook.Names
.......
Worksheets(1).Hyperlinks.Add Anchor:=Cells(Row, 4), Address:="", SubAddress:=n.RefersToRange.Address(external:=True )
....
next n

bon apres midi
MichelXld
 
Vieux 08/07/2004, 21h08   #6 (permalink)
monsieurPatate
Guest
 
Messages: n/a
Par défaut Re: Extraction des noms pour une table des matières

Merci Michel, avec ton bout de code, je pourrais mettre les voiles!

Une petite interrogation encore. Lorsque j'exécute le code affiché dans ce fil, je remarque que VBA n'exécute pas mes onglets dans l'ordre affichés, c'est-à-dire de gauche à droite, mais plutôt selon l'ordre affiché dans la fenêtre VBAProject.
(par exemple si j'ajoute un onglet entre feuil2 et feuil3, cet onglet sera traité en dernier car il apparaît en dernier dans la fenêtre VBAProject)

Peut-on modifier cet ordre afin que VBA s'exécute dans chaque onglet tel qu'ils apparaissent dans Excel, c'est-à-dire de gauche à droite ?

Bye!
 
Vieux 09/07/2004, 15h18   #7 (permalink)
monsieurPatate
Guest
 
Messages: n/a
Par défaut re:Ordre d'exécution pour extraction des noms pour une table des matières

Bonjour,

Je n'ai toujours pas trouvé de solution de mon côté.
Peut être que ce n'est pas possible car ça doit être 'by design'

Bonne journée.
 
Vieux 09/07/2004, 18h48   #8 (permalink)
michel
Guest
 
Messages: n/a
Par défaut Re: Extraction des noms pour une table des matières

bonsoir

La macro ci-dessous permet de récupérer les cellules nommées dans l'ordre d'index des feuilles
J'ai adapté une fonction trouvée dans mes archives , mais comme à l'époque j'avais oublié de noter le nom de l'auteur , je ne peux le citer et le remercier . Toutes mes excuses .


Sub Test()
Dim N As Name
Dim PlageNom As Range
Dim i As Byte
Dim Row As Byte

Row = 1
On Error Resume Next

For i = 1 To Sheets.Count

For Each N In Worksheets(i).Parent.Names
Set PlageNom = Nothing
Set PlageNom = N.RefersToRange
If Not PlageNom Is Nothing Then
If Worksheets(i).Index = PlageNom.Worksheet.Index Then
Cells(Row, 1) = N.Name
Cells(Row, 2) = N.RefersToRange.Value
Worksheets(1).Hyperlinks.Add Anchor:=Cells(Row, 3), Address:="", SubAddress:=N.RefersToRange.Address(external:=True )
Row = Row + 1
End If
End If
Next N

Next i
End Sub



bonne soirée
MichelXld
 
Vieux 12/07/2004, 19h36   #9 (permalink)
monsieurPatate
Guest
 
Messages: n/a
Par défaut Re: Extraction des noms pour une table des matières

Génial!

Merci Michel pour le temps que tu m'a accordé, c'est très apprécié.

À la prochaine.
 
Vieux 18/10/2004, 21h00   #10 (permalink)
dany
Guest
 
Messages: n/a
Par défaut Re: Extraction des noms pour une table des matières

BONJOURS , j ai oublié le mot de passe de vbaproject comment puis je faire ? je ne peux plus modifié !!! merci
 
ANNONCES
 

Liens sociaux

Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are oui
Pingbacks are oui
Refbacks are oui


Fuseau horaire GMT +2. Il est actuellement 17h43.


(C) 2006 Excel Downloads