Faire apparaitre le nom des onglets

condors.s

XLDnaute Occasionnel
Bonjour à tous.

J'ai trouvé une petite macro permettant d'afficher le nom des onglets d'un fichier excel sur la feuille 1.

Je voudrais le compléter en affichant uniquement les onglets actifs (et donc pas ceux qui sont masqués).


Avez vous un tuyau pour moi.

Merci beaucoup

Code:
Sub MaMacro() 
Dim I As Integer 
ActiveWorkbook.Worksheets(1).Select 
ActiveSheet.Range("A2").CurrentRegion.ClearContents 
For I = 2 To ActiveWorkbook.Worksheets.Count 
ActiveSheet.Range("A" & I).Select 
ActiveSheet.Hyperlinks.Add _ 
Anchor:=Selection, _ 
Address:="", _ 
SubAddress:="'" & Worksheets(I).Name & "'!A1", _ 
TextToDisplay:=Worksheets(I).Name 
ActiveSheet.Range("B" & I) = Worksheets(I).Range("H3") 
Next 
Cancel = True 
End Sub
 

tototiti2008

XLDnaute Barbatruc
Re : Faire apparaitre le nom des onglets

Bonjour condor,

un essai :

Code:
Sub MaMacro()
Dim I As Integer, J As Integer
ActiveWorkbook.Worksheets(1).Select
ActiveSheet.Range("A2").CurrentRegion.ClearContents
J = 2
For I = 2 To ActiveWorkbook.Worksheets.Count
    ActiveSheet.Range("A" & J).Select
    If Worksheets(I).Visible = xlSheetVisible Then
        ActiveSheet.Hyperlinks.Add _
        Anchor:=Selection, _
        Address:="", _
        SubAddress:="'" & Worksheets(I).Name & "'!A1", _
        TextToDisplay:=Worksheets(I).Name
        ActiveSheet.Range("B" & J) = Worksheets(I).Range("H3")
        J = J + 1
    End If
Next
Cancel = True
End Sub
 

condors.s

XLDnaute Occasionnel
Re : Faire apparaitre le nom des onglets

En fait, je souhaiterais que les noms des onglets se mettent sur une ligne (7) et non sur une colonne.

Que dans la commande de nettoyage, seule la ligne concernée (7) soit effacée car j'ai des formules dans les autres cellules.


Merci beaucoup
 

tototiti2008

XLDnaute Barbatruc
Re : Faire apparaitre le nom des onglets

Re,

ah bon, moi je croyais que c'était une macro adaptée à ton modèle...

Code:
Sub MaMacro()
Dim I As Integer, J As Integer
ActiveWorkbook.Worksheets(1).Select
ActiveSheet.Range("A7:IV7").ClearContents
J = 2
For I = 2 To ActiveWorkbook.Worksheets.Count
    ActiveSheet.Cells(7,J-1).Select
    If Worksheets(I).Visible = xlSheetVisible Then
        ActiveSheet.Hyperlinks.Add _
        Anchor:=Selection, _
        Address:="", _
        SubAddress:="'" & Worksheets(I).Name & "'!A1", _
        TextToDisplay:=Worksheets(I).Name
        J = J + 1
    End If
Next
End Sub
 

Discussions similaires

Réponses
7
Affichages
361
Réponses
19
Affichages
2 K
Réponses
8
Affichages
690

Statistiques des forums

Discussions
312 513
Messages
2 089 218
Membres
104 065
dernier inscrit
il matador