clique sur lien devant mener a onglet dit: référence non valide et masquer onglets

JMPremier

XLDnaute Nouveau
BOnjour

Premièrement
Je ne sais pourquoi les liens en page 1 (Élèves - à partir de F6 en descendant) devant mener aux onglets me donnent le message d'erreur - référence non valide- ...

Deuxièmement
encore en page 1(un) j'ai des macro relié aux cases - ÉTAPES - avec lesquelles je ne voudrais laisser apparaître que les onglets qui sont reliés à l'étape en question (soit l'étape 1, 2 ou 3), et ce, en masquant les autres ...mais je ne réussi pas ...j'avais réussi avec les noms des onglets....mais depuis que j'essai de les faire fonctionner en utilisant les noms de feuilles (feuille 1, 2, 3...) ....rien ne va plus....en réalité j'ai fait de nombreux essais....mais rien ne fonctionne....je ne suis vraiment pas connaissant en VB....
PS": je dois faire en utilisant les numéros de feuilles plutot que leur noms car le nom des onglets devra régulierement etre modifié

Merci encore beaucoup de votre aide....
P.S.: Le document démontrant le problème est attaché

Merci
 

Pièces jointes

  • FIchier...pour exemple.xlsm
    454 KB · Affichages: 50

Papou-net

XLDnaute Barbatruc
Re : clique sur lien devant mener a onglet dit: référence non valide et masquer ong

Bonsoir JMPremier,

1/ Clic droit sur chaque lien, choisir "Modifier le lien hypertexte" puis dans la fenêtre principale dérouler la liste Référence de cellule et cliquer sur le nom de feuille adapté au lien (cf copie écran ci-jointe)

2/ Modifie la macro comme suit :

Code:
Sub MasqueSessionUnGroupéAffiche2()
'
' MasqueSessionUnGroupé Macro ETAPE-2 (JE VEUX MASQUER LES FEUILLES 2 A 20 ET AFFICHER FEUILLES 21-23-27-29)
'

'
    Sheets(Array(Feuil4.Name, Feuil5.Name, Feuil6.Name, Feuil7.Name, Feuil8.Name, Feuil9.Name, Feuil10.Name)).Select
    Feuil3.Activate
    ActiveWindow.SelectedSheets.Visible = False
    Feuil1.Select
    Range("H5").Select
    ActiveWorkbook.Save
End Sub
Cordialement.
 

Pièces jointes

  • Lien hypertexte.jpg
    Lien hypertexte.jpg
    35.4 KB · Affichages: 100

JMPremier

XLDnaute Nouveau
Re : clique sur lien devant mener a onglet dit: référence non valide et masquer ong

BOnjour Papou-net,

- Merci tout a bien été pour l'étape un ....mais, pourquoi le lien était-il désaffecté?

- pour le point 2
voici le code que jai essayer de faire ....mais ça ouvre le débogueur en mettant en jaune les dossier que je veux cacher...
voici le code que je met:

Sub MasqueSessionUnGroupéAffiche2()
'
' MasqueSessionUnGroupé Macro ETAPE-2 (JE VEUX MASQUER LES FEUILLES 2 A 13 ET AFFICHER FEUILLES 14 à 25)
'

'
Sheets(Array(Feuil14.Name, Feuil15.Name, Feuil16.Name, Feuil17.Name, Feuil18.Name, Feuil19.Name, Feuil20.Name, _
Feuil21.Name, Feuil22.Name, Feuil23.Name, Feuil24.Name, Feuil25.Name)).Select

Sheets(Array(Feuil2.Name, Feuil3.Name, Feuil4.Name, Feuil5.Name, Feuil6.Name, Feuil7.Name, Feuil8.Name, _
Feuil9.Name, Feuil10.Name, Feuil11.Name, Feuil12.Name, Feuil13.Name)).Activates
ActiveWindow.SelectedSheets.Visible = False
Feuil1.Select
Range("H5").Select
ActiveWorkbook.Save
End Sub

JM
 

JMPremier

XLDnaute Nouveau
Re : clique sur lien devant mener a onglet dit: référence non valide et masquer ong

BOnjour Papou-net,

Merci tout a bien été pour l'étape un ....mais, pourquoi le lien était-il désafecté?

pour le point 2
voici le code que jai essayer de faire ....mais ça ouvre le déboggeur en mettant en jaune les dossier que je veux cacher...
voici le code que je met:

Sub MasqueSessionUnGroupéAffiche2()
'
' MasqueSessionUnGroupé Macro ETAPE-2 (JE VEUX MASQUER LES FEUILLES 2 A 13 ET AFFICHER FEUILLES 14 à 25)
'

'
Sheets(Array(Feuil14.Name, Feuil15.Name, Feuil16.Name, Feuil17.Name, Feuil18.Name, Feuil19.Name, Feuil20.Name, _
Feuil21.Name, Feuil22.Name, Feuil23.Name, Feuil24.Name, Feuil25.Name)).Select

Sheets(Array(Feuil2.Name, Feuil3.Name, Feuil4.Name, Feuil5.Name, Feuil6.Name, Feuil7.Name, Feuil8.Name, _
Feuil9.Name, Feuil10.Name, Feuil11.Name, Feuil12.Name, Feuil13.Name)).Activates
ActiveWindow.SelectedSheets.Visible = False
Feuil1.Select
Range("H5").Select
ActiveWorkbook.Save
End Sub

JM
 

Papou-net

XLDnaute Barbatruc
Re : clique sur lien devant mener a onglet dit: référence non valide et masquer ong

Bonsoir JMPremier,

Concernant les liens hypertexte, je ne sais quoi te répondre, si ce n'est que peut-être est-ce dû à une conversion de fichier depuis une version antérieure ?

L'erreur dans ton code vient du fait que le CodeName des feuilles 14, 21 à 25 n'existent pas. Il faut que tu vérifies ces noms en fonction des noms d'onglet dans l'explorateur de projet de VBA. Par ailleurs, la ligne ci-dessous va également te poser un problème car, outre le "s" en trop dans le mot-clé Activate, il n'est pas possible d'activer plusieurs feuilles :

Sheets(Array(Feuil2.Name, Feuil3.Name, Feuil4.Name, Feuil5.Name, Feuil6.Name, Feuil7.Name, Feuil8.Name, _
Feuil9.Name, Feuil10.Name, Feuil11.Name, Feuil12.Name, Feuil13.Name)).Activates

Ne sachant pas ce que tu veux faire, je ne peux t'en dire davantage.

Cordialement.
 

JMPremier

XLDnaute Nouveau
Re : clique sur lien devant mener a onglet dit: référence non valide et masquer ong

Merci beaucoup de votre aide....

En réalité ce que je veux faire, c'est masquer certains onglets et laisser les autres apparaître, et ce, de par le fait qu'il y en a un grand nombre, ce serait plus facile et moins mêlant d'avoir en bas de page que les onglets utile à un certain moment.

Merci encore
 

Papou-net

XLDnaute Barbatruc
Re : clique sur lien devant mener a onglet dit: référence non valide et masquer ong

Merci beaucoup de votre aide....

En réalité ce que je veux faire, c'est masquer certains onglets et laisser les autres apparaître, et ce, de par le fait qu'il y en a un grand nombre, ce serait plus facile et moins mêlant d'avoir en bas de page que les onglets utile à un certain moment.

Merci encore

Bonjour JMPremier,

J'avais bien compris que tu voulais masquer certains onglets, ce que je voyais moins bien c'est pourquoi tu voulais activer plusieurs feuilles.

As-tu résolu la question ?

Cordialement.
 

Si...

XLDnaute Barbatruc
Re : clique sur lien devant mener a onglet dit: référence non valide et masquer ong

salut

et Si... tu évitais les liens ?
2 codes à placer dans le Module de la feuille "Élèves"

Code:
Private Sub Worksheet_Activate()
  Dim n As Byte
  For n = 2 To Sheets.Count 'pas 1 pour Feuil1 nommée Élèves
    Feuil1.Cells(n + 4, "F") = Sheets(n).Name
  Next
End Sub

Private Sub Worksheet_SelectionChange(ByVal R As Range)
  If R.Column <> 6 Or R.Count > 1 Then Exit Sub
  If R <> "" Then Application.Goto Sheets(R.Text).Range("A1")
End Sub

Pour la première, à l'ouverture de la feuille, la liste des noms des onglets s’inscrit (plus de lien mais format possible: texte en bleu et souligné) en colonne F.

Pour la seconde, ouvre la feuille dont le nom est "cliqué".

Tu peux simplifier de nombreuses autres macros avec des boucles. Exemple

Code:
Sub AfficheToutRevientAÉtape1()
  Dim n As Byte
  For n = 2 To Sheets.Count 'pas 1 pour Feuil1 nommée Élèves
    Feuil1.Visible = True
  Next
End Sub

Sub MasqueSessionUnGroupéAffiche2()
  'MasqueSessionUnGroupé Macro ETAPE-2 (JE VEUX MASQUER LES FEUILLES 2 A 13 ET AFFICHER FEUILLES 14 à 25)
  For n = 2 To 25: Sheets(n).Visible = n > 13: Next
End Sub
 

Statistiques des forums

Discussions
312 489
Messages
2 088 849
Membres
103 974
dernier inscrit
chmikha