rendre des feuilles visibles au fur à mesure des besoins

pascal21

XLDnaute Barbatruc
sous titre: ou comment faire apparaitre l'onglet qui suit le dernier onglet visible

bonsoir le forum
dansmon classeur, j'ai des feuilles (une par employé concerné) déja toutes prètes qui serviront plus tard (lorsque l'effectif augmentera)
j'aimerais en attendant que ces feuilles soient masquées (onglets masqué)pour une meilleure lisibilité du classeur
mais qu'elles puissent être rendues visible sur un clic sur un bouton.
mais uniquement une par une en fonction des besoins
j'ai déjà une vingtaine de feuilles dont 10 vont servir tout de suite
comment faire cela merci
il s'agit des feuilles 4 à 22
le nom de l'onglet reprend le nom de l'employé donc il faut utiliser le numéro de le feuille
 
Dernière édition:
C

Compte Supprimé 979

Guest
Re : rendre des feuilles visibles au fur à mesure des besoins

Salut Pascal21,

Ci-joint un petit bout de code
Code:
Sub AfficherFeuille()
  Dim NumF As Integer
  For NumF = 4 To 22
    If Sheets(NumF).Visible = False Then
      Sheets(NumF).Visible = True
      Exit For
    End If
  Next NumF
End Sub

A+
 

pascal21

XLDnaute Barbatruc
Re : rendre des feuilles visibles au fur à mesure des besoins

bonsoir bruno
merci c'est parfait (comme d'habitude)
maintenant, je voudrais arriver à la chose suivante
j'ai des lignes, dans une feuille (recap) qui reprennent certaines cellules de ces feuilles "employés"
une macro me permet de tenir compte dans les calculs uniquement les feuilles 'activées' (celles qui ont pour nom d'onglet, le nom d'un employé)
feuille activée = visible
feuille pas encore activée = non visible
je cherche le moyen de masquer les lignes dont les feuilles ne sont pas activées
dans la colonne A de cette feuille "recap" j'ai des lien hypertexte qui pointent sur les feuilles "employés"
si ma prose est incompréhensible je déposerais demain soir un bout de mon classeur car pour l'instant il est trop tard
bonne soirée
je le mets quand même ce bout de fichier
 

Pièces jointes

  • feuilles cachées.xls
    33.5 KB · Affichages: 80
Dernière édition:
C

Compte Supprimé 979

Guest
Re : rendre des feuilles visibles au fur à mesure des besoins

Salut Pascal21,

Si chaque feuille a bien le nom figurant dans la colonne 'A' de Recap,
voici le code pour cacher les lignes qui correspondent aux feuilles masquées ;)

Code:
Sub MasquerLigne()
  Dim NomSht As String
  For lig = 6 To Range("A" & Rows.Count).End(xlUp).Row
    NomSht = Range("A" & lig).Value
    If Sheets(NomSht).Visible = False Then
      Range("A" & lig).EntireRow.Hidden = True
    Else
      Range("A" & lig).EntireRow.Hidden = False
    End If
  Next lig
End Sub

Bonne nuit :D

A+
 

pascal21

XLDnaute Barbatruc
Re : rendre des feuilles visibles au fur à mesure des besoins

re
je viens d'essayer vite fait sur mon classeur
ça ne fonctionne pas
je regarderai demain soir ce qu'il faut modifier (si j'y arrive)
bonne nuit
le fichier joint était un raccourci du classeur final
j'ai bien une dizaine de feuilles masquées en fait
sur la feuille recap les liens commencent cellule A 14 jusqu'a A33
mais comme dans l'exemple les onglets peuvent changés de nom
seulles les feuilles non utilisées sont encore numérotées
mais ce qui ne devrait rein changer pour une macro
 

TooFatBoy

XLDnaute Barbatruc
Re : rendre des feuilles visibles au fur à mesure des besoins

Bonsoir,

Comme le précise Bruno ("Si chaque feuille a bien le nom figurant dans la colonne 'A' de Recap") pour que la macro marche d'un bout à l'autre, il faut que pour chaque nom inscrit dans la colonne A, à partir de la cellule A6 jusqu'à la dernière cellule non vide de la colonne A (par exemple A33), il existe une feuille possédant exactement le même nom.
 
Dernière édition:

pascal21

XLDnaute Barbatruc
Re : rendre des feuilles visibles au fur à mesure des besoins

bonjour
je vien de faire un essai sur le classeur joint ça ne fonctionne pas comme il faudrait
j'ai bien les lignes dont les onglets sont masqués qui ne sont plus visible mais elles ne reviennent pas lorsque l'on rend les feuilles visibles
 

Lii

XLDnaute Impliqué
Re : rendre des feuilles visibles au fur à mesure des besoins

Bonjour,

Au lieu de masquer des lien inutiles, il suffirait sans doute de ne pas les créer !
A tester.
 

Pièces jointes

  • feuilles cachées.zip
    8.1 KB · Affichages: 31
C

Compte Supprimé 979

Guest
Re : rendre des feuilles visibles au fur à mesure des besoins

Salut Pascal21,

bonjour
je vien de faire un essai sur le classeur joint ça ne fonctionne pas comme il faudrait
j'ai bien les lignes dont les onglets sont masqués qui ne sont plus visible mais elles ne reviennent pas lorsque l'on rend les feuilles visibles
Désolé, je n'ai pas bien réfléchi quand j'ai fait mon code,
et surtout je ne l'ai pas testé :eek:

Comme la ligne est masquée, la recherche de la dernière ligne remplie n'est pas correcte !

Il vaut mieux faire chaque ligne une par une et sortir de la boucle quand on n'a plus de valeur ;)

Le code testé, cette fois-ci
Code:
  For lig = 6 To Rows.Count
    NomSht = Range("A" & lig).Value
    ' Sort de la boucle si plus de baleur
    If NomSht = "" Then Exit For
    ' Affiche ou masque selon sir la feuille est visible ou non
    If Sheets(NomSht).Visible = False Then
      Range("A" & lig).EntireRow.Hidden = True
    Else
      Range("A" & lig).EntireRow.Hidden = False
    End If
  Next lig

A+
 

pascal21

XLDnaute Barbatruc
Re : rendre des feuilles visibles au fur à mesure des besoins

bonjour bruno Lii
Lii a su trouvé la solution
en effet pourquoi chercher à cacher les lignes alors qu'il suffit de ne pas les créer
je mets le code proposé
ça peut servir
Code:
Private Sub Worksheet_Activate()
   Range("a13").Select
  Range(ActiveCell, [a65000].End(xlUp)).ClearContents
  For i = 2 To Sheets.Count
     nf = Sheets(i).Name
     If Sheets(i).Visible = -1 Then
       ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:="'" & _
         nf & "'" & "!A1", TextToDisplay:=nf
       ActiveCell.Offset(1, 0).Select
     End If
  Next i
End Sub
petite précission si vous décidez d'essayer ce code
ne faites pas comme moi ne le mettez pas dans "selection change"
bonne journée
 

Discussions similaires

Statistiques des forums

Discussions
312 928
Messages
2 093 701
Membres
105 788
dernier inscrit
Charles R