Erreur d'exécution '9' : L'indice n'appartient pas à la sélection

Fermé
FlorianR - 28 nov. 2020 à 14:10
 FlorianR - 30 nov. 2020 à 17:47
Bonjour,
J'ai actuellement dans mon fichier plusieurs feuilles, toutes masquées sauf la feuille "Accueil". Chacune de ces feuilles est accessible via des liens sur la page d'accueil.
Lors d'un clique sur le lien, la feuille concernée s'ouvre, puis lors du clique sur le lien de retour en page d'accueil, la feuille est masquée à nouveau.
Le code utilisé fonctionne pour toutes mes feuilles sauf une. Elle affiche le message d'erreur écrit dans le titre.

Le code en page d'accueil est :

Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
a = Target.SubAddress
a = Left(a, InStr(1, a, "!") - 1)
Sheets(a).Visible = True
Sheets(a).Activate
End Sub

Le code présent sur la page qui ne fonctionne pas (alors qu'il fonctionne avec toutes les autres feuilles) :

Sub PlanningSalle_SAVE()

LaDate1 = Format(Range("I8"), "dd" & "." & "mm" & "." & "yyyy")
LaDate2 = Format(Range("P8"), "dd" & "." & "mm" & "." & "yyyy")
NomFichier = ("Planning Salle du " & LaDate1 & " au " & LaDate2 & "_V")

Dim Fichier As String

chemin = "C:\GestionResto\Planning Salle\"
Fichier = Dir(chemin & NomFichier & "*" & ".pdf")
n = 0

Do While Fichier <> ""
n = n + 1
Fichier = Dir
Loop

If n > 0 Then
If MsgBox("Le fichier '" & NomFichier & n & "' existe, voulez-vous créer une nouvelle version?", vbYesNo, "Attention") = vbNo Then Exit Sub
End If

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
chemin & NomFichier & n + 1 & ".pdf", Quality:= _
xlQualityStandard, IncludeDocProperties:=False, IgnorePrintAreas:=False, _
From:=1, To:=1, OpenAfterPublish:=True

End Sub

Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
a = Target.SubAddress
a = Left(a, InStr(1, a, "!") - 1)
Sheets(a).Visible = True
Me.Visible = False
Sheets(a).Activate
End Sub

Le débogage surligne la ligne :

Sheets(a).Visible = True


Je ne vois pas pourquoi... une idée chers contributeurs?

Merci d'avance.
A voir également:

1 réponse

cs_Le Pivert Messages postés 7904 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 14 août 2024 729
28 nov. 2020 à 16:58
Bonjour,

je mettrais tout d'abord la : Sub PlanningSalle_SAVE()
dans un Module pour pouvoir l'appeler de n'importe où!

A priori il n'y a aucun empêchement au fonctionnement de ta macro

Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)

Voilà fait cela on verra après
0
Bonsoir,
Merci pour ton retour.
Déjà, merci, j'ai fait comme tu m'as dit, ça simplifie la lecture.
Par contre, cela ne change rien, c'est toujours le seul onglet qui ne veut pas fonctionner.
En revanche, lorsque j'ouvre l'onglet manuellement, et que je retourne à l'accueil via le lien, la page se masque bien toute seule. C'est donc à l'ouverture que ça cloche...
0
cs_Le Pivert Messages postés 7904 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 14 août 2024 729 > FlorianR
Modifié le 30 nov. 2020 à 09:35
J'ai reproduit ce que tu as décrit, cela fonctionne.

C'est le lien hypertexte qui te permet d'ouvrir les feuilles!

Le seul code à mettre c'est celui pour masquer les feuilles

Ce code suffit sur les feuilles autre que Accueil pour fonctionner:

Option Explicit
Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
Me.Visible = False
End Sub


ou même ceci

Option Explicit
Private Sub Worksheet_Deactivate()
Me.Visible = False
End Sub


@+
0
FlorianR > cs_Le Pivert Messages postés 7904 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 14 août 2024
30 nov. 2020 à 14:29
Bonjour cs_Le Pivert,
Je dois être une bille... Je viens de tester les 2 codes ci-dessus que tu viens de me donner (en supprimant les précédents, y compris celui de l'accueil)... aucune réactions lors des cliques sur les cellules liens (pour aucunes feuilles)...
Le fait que les liens ne soit pas entrés en vba pourrait-il être une raison? (je les ai créés via clique droit "Lien").
0
cs_Le Pivert Messages postés 7904 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 14 août 2024 729 > FlorianR
30 nov. 2020 à 16:43
J'ai fait les liens comme ceci:



et cela fonctionne. Il faut garder le code de la feuille Accueil

@+
0
FlorianR > cs_Le Pivert Messages postés 7904 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 14 août 2024
30 nov. 2020 à 17:47
C'est tout bon.

Il semblerait que l'erreur était tout autre.

En fait, lorsque j'ai été dans "Modifier le lien hypertexte", dans "Adresse", les intitulés étaient tous au format #NomFeuille!A1
Sauf la feuille qui faisait défaut, qui était elle au format #'NomFeuille'!A1
J'avoue ne pas savoir à quel moment cela a pu se produire...
Aurais-tu une idée?

Merci beaucoup pour les tuyaux dans tous les cas!

Bonne soirée à toi!
0