Activation des onglets cachés
Résolu/Fermé
Gilles888
Messages postés
13
Date d'inscription
lundi 8 avril 2013
Statut
Membre
Dernière intervention
9 avril 2013
-
8 avril 2013 à 19:29
Mike-31 Messages postés 18354 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 1 janvier 2025 - 9 avril 2013 à 19:33
Mike-31 Messages postés 18354 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 1 janvier 2025 - 9 avril 2013 à 19:33
A voir également:
- Activation des onglets cachés
- Clé d'activation windows 10 gratuit - Guide
- Restaurer onglets chrome - Guide
- Clé activation office 2010 gratuit - Télécharger - Sécurité
- Activation office - Accueil - Bureautique
- Activation windows 10 - Guide
26 réponses
Mike-31
Messages postés
18354
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
1 janvier 2025
5 110
8 avril 2013 à 22:48
8 avril 2013 à 22:48
Salut,
Tu as masqué tes feuilles, le lien hypertexte ne peut les ouvrir, il faut passer par du VBA
Tu as masqué tes feuilles, le lien hypertexte ne peut les ouvrir, il faut passer par du VBA
Gilles888
Messages postés
13
Date d'inscription
lundi 8 avril 2013
Statut
Membre
Dernière intervention
9 avril 2013
8 avril 2013 à 23:00
8 avril 2013 à 23:00
Merci Mike,
Oui je m'en doutais et je le redoutais car je suis au niveau 0,5 en VBA ...
Qqu'un peut m'aider avec les étapes à suivre en VBA?
Gilles
Oui je m'en doutais et je le redoutais car je suis au niveau 0,5 en VBA ...
Qqu'un peut m'aider avec les étapes à suivre en VBA?
Gilles
Mike-31
Messages postés
18354
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
1 janvier 2025
5 110
8 avril 2013 à 23:19
8 avril 2013 à 23:19
Re,
il faudrait voir un exemple de ton fichier pour écrire un bout de code adapté.
pour joindre ton fichier, clic sur ce lien/parcourir pour sélectionner le fichier/créer le lien et coller dans un post le lien généré
https://www.cjoint.com/
pour ce soir je ne vais pas tarder décrocher
il faudrait voir un exemple de ton fichier pour écrire un bout de code adapté.
pour joindre ton fichier, clic sur ce lien/parcourir pour sélectionner le fichier/créer le lien et coller dans un post le lien généré
https://www.cjoint.com/
pour ce soir je ne vais pas tarder décrocher
Gilles888
Messages postés
13
Date d'inscription
lundi 8 avril 2013
Statut
Membre
Dernière intervention
9 avril 2013
8 avril 2013 à 23:24
8 avril 2013 à 23:24
Voici Mike, un sample de mon fichier:
https://www.cjoint.com/?CDixxjKrsAd
https://www.cjoint.com/?CDixxjKrsAd
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Mike-31
Messages postés
18354
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
1 janvier 2025
5 110
8 avril 2013 à 23:36
8 avril 2013 à 23:36
Re,
allez je vais te faire un code vite fait, sais tu faire des listes déroulantes (liste de validation)
allez je vais te faire un code vite fait, sais tu faire des listes déroulantes (liste de validation)
Gilles888
Messages postés
13
Date d'inscription
lundi 8 avril 2013
Statut
Membre
Dernière intervention
9 avril 2013
8 avril 2013 à 23:38
8 avril 2013 à 23:38
Fantastique Mike, merci. Oui les listes de validation je connais!
Mike-31
Messages postés
18354
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
1 janvier 2025
5 110
8 avril 2013 à 23:53
8 avril 2013 à 23:53
Re,
Alors en C3 tu crée une liste de validation avec les noms de tes feuilles Onglet1;Onglet2 etc ...
fait un clic droit sur l'onglet de ta feuille Accueil et colle ce code. reviens sur ta feuille Accueil t fait joujou avec ta liste de validation en C3
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Ongl As Byte
If Not Intersect(Target, Range("C3")) Is Nothing Then
For Ongl = 1 To ThisWorkbook.Sheets.Count
If Sheets(Ongl).Name <> "Accueil" Then
Sheets(Ongl).Visible = 0
End If
Next
End If
If [C3] > 0 Then Worksheets([C3].Value).Visible = True
End Sub
J'attends un dizaine de minutes avant de fermer mon ordi
A+
Mike-31
Une période d'échec est un moment rêvé pour semer les graines du savoir.
Alors en C3 tu crée une liste de validation avec les noms de tes feuilles Onglet1;Onglet2 etc ...
fait un clic droit sur l'onglet de ta feuille Accueil et colle ce code. reviens sur ta feuille Accueil t fait joujou avec ta liste de validation en C3
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Ongl As Byte
If Not Intersect(Target, Range("C3")) Is Nothing Then
For Ongl = 1 To ThisWorkbook.Sheets.Count
If Sheets(Ongl).Name <> "Accueil" Then
Sheets(Ongl).Visible = 0
End If
Next
End If
If [C3] > 0 Then Worksheets([C3].Value).Visible = True
End Sub
J'attends un dizaine de minutes avant de fermer mon ordi
A+
Mike-31
Une période d'échec est un moment rêvé pour semer les graines du savoir.
Mike-31
Messages postés
18354
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
1 janvier 2025
5 110
8 avril 2013 à 23:58
8 avril 2013 à 23:58
Re,
ah dans la précipitation j'ai oublié de mettre une ligne pour activer la feuille
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Ongl As Byte
If Not Intersect(Target, Range("C3")) Is Nothing Then
For Ongl = 1 To ThisWorkbook.Sheets.Count
If Sheets(Ongl).Name <> "Accueil" Then
Sheets(Ongl).Visible = 0
End If
Next
End If
If [C3] > 0 Then Worksheets([C3].Value).Visible = True
Worksheets([C3].Value).Activate
End Sub
ah dans la précipitation j'ai oublié de mettre une ligne pour activer la feuille
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Ongl As Byte
If Not Intersect(Target, Range("C3")) Is Nothing Then
For Ongl = 1 To ThisWorkbook.Sheets.Count
If Sheets(Ongl).Name <> "Accueil" Then
Sheets(Ongl).Visible = 0
End If
Next
End If
If [C3] > 0 Then Worksheets([C3].Value).Visible = True
Worksheets([C3].Value).Activate
End Sub
Gilles888
Messages postés
13
Date d'inscription
lundi 8 avril 2013
Statut
Membre
Dernière intervention
9 avril 2013
8 avril 2013 à 23:59
8 avril 2013 à 23:59
Merci bcp Mike cela fonctionne; je dois faire qques adaptations pour le vrai fichier mais je crois pouvoir m'en sortir, et au pire, Une période d'échec est un moment rêvé pour semer les graines du savoir. Un tt grand merci encore!
Mike-31
Messages postés
18354
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
1 janvier 2025
5 110
9 avril 2013 à 00:00
9 avril 2013 à 00:00
Je ne sais pas si tu as vu j'ai rajouté une ligne en fin de code pour activer la feuille en question
Gilles888
Messages postés
13
Date d'inscription
lundi 8 avril 2013
Statut
Membre
Dernière intervention
9 avril 2013
9 avril 2013 à 08:56
9 avril 2013 à 08:56
Re-bonjour Mike,
En fait dans mon 'vrai' fichier, j'ai 85 lignes remplies d'hyperliens en colonne B; cela fait bcp pour passer via des listes de valeur. Qui plus est, les cellules portent des noms très différents les unes des autres (pas outil1, outil2, etc).
Est-ce que le code peut être adapté en fonction? J'imagine que je dois changer le range - target ou qque chose du genre et que le reste peut fonctionner?
Belle journée, Gilles
En fait dans mon 'vrai' fichier, j'ai 85 lignes remplies d'hyperliens en colonne B; cela fait bcp pour passer via des listes de valeur. Qui plus est, les cellules portent des noms très différents les unes des autres (pas outil1, outil2, etc).
Est-ce que le code peut être adapté en fonction? J'imagine que je dois changer le range - target ou qque chose du genre et que le reste peut fonctionner?
Belle journée, Gilles
Mike-31
Messages postés
18354
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
1 janvier 2025
5 110
9 avril 2013 à 12:47
9 avril 2013 à 12:47
Salut,
Je rentre à l'instant, peu importe la liste, il suffit de créer une liste de validation avec tous les noms des onglets. Pour cela il suffit de saisir le nom exact de chaque onglet dans une colonne, la plage contenant cette liste peut être nommée exemple list
la formule pour afficher ta liste de validation est =list
ensuite le code reste inchangé si ta cellule cible reste la C3
Je rentre à l'instant, peu importe la liste, il suffit de créer une liste de validation avec tous les noms des onglets. Pour cela il suffit de saisir le nom exact de chaque onglet dans une colonne, la plage contenant cette liste peut être nommée exemple list
la formule pour afficher ta liste de validation est =list
ensuite le code reste inchangé si ta cellule cible reste la C3
Gilles888
Messages postés
13
Date d'inscription
lundi 8 avril 2013
Statut
Membre
Dernière intervention
9 avril 2013
9 avril 2013 à 12:58
9 avril 2013 à 12:58
Merci Mike.
Encore 3 (petites j'espère) choses:
1) Pour la liste de validation, je créé 'list' (ok) et puis je l'intègre dans ton code mais comment?
2) Ma cellule cible peut être n'importe où sur la colonne B, donc j'imagine qu'il suffit de remplacer C3 par B dans ton code.
3) En utilisant ton code tel qu'il est actuellement, si je double click sur une cellule (ex N27) dans l'onglet accueil, je tombe direct sur outil1, étrange non?
Bàt, Gilles
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Ongl As Byte
If Not Intersect(Target, Range("C3")) Is Nothing Then
For Ongl = 1 To ThisWorkbook.Sheets.Count
If Sheets(Ongl).Name <> "Accueil" Then
Sheets(Ongl).Visible = 0
End If
Next
End If
If [C3] > 0 Then Worksheets([C3].Value).Visible = True
Worksheets([C3].Value).Activate
End Sub
Encore 3 (petites j'espère) choses:
1) Pour la liste de validation, je créé 'list' (ok) et puis je l'intègre dans ton code mais comment?
2) Ma cellule cible peut être n'importe où sur la colonne B, donc j'imagine qu'il suffit de remplacer C3 par B dans ton code.
3) En utilisant ton code tel qu'il est actuellement, si je double click sur une cellule (ex N27) dans l'onglet accueil, je tombe direct sur outil1, étrange non?
Bàt, Gilles
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Ongl As Byte
If Not Intersect(Target, Range("C3")) Is Nothing Then
For Ongl = 1 To ThisWorkbook.Sheets.Count
If Sheets(Ongl).Name <> "Accueil" Then
Sheets(Ongl).Visible = 0
End If
Next
End If
If [C3] > 0 Then Worksheets([C3].Value).Visible = True
Worksheets([C3].Value).Activate
End Sub
Mike-31
Messages postés
18354
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
1 janvier 2025
5 110
9 avril 2013 à 13:22
9 avril 2013 à 13:22
Re,
Un exemple avec le lien ci dessous lien
Feuille Accueil colonne A en jaune j'ai créé une liste avec les noms de tes feuilles que j'ai nommé simplement list
cette plage jaune peut être sur une feuille différente éventuellement masquée tout comme la colonne A actuelle d'ailleurs
en H5 j'ai créé la liste de validation avec la formule =list
et j'ai copié le code que je t'ai donné hier soir en modifiant simplement l'adresse de la cellule cible C3 par la nouvelle H5
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Ongl As Byte
If Not Intersect(Target, Range("H5")) Is Nothing Then
For Ongl = 1 To ThisWorkbook.Sheets.Count
If Sheets(Ongl).Name <> "Accueil" Then
Sheets(Ongl).Visible = 0
End If
Next
End If
If [H5] > 0 Then Worksheets([H5].Value).Visible = True
Worksheets([H5].Value).Activate
End Sub
Si tu utilises le double clic pour sélectionner ton onglet il faut remplacer
Private Sub Worksheet_Change(ByVal Target As Range)
par
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
sinon le double clic aura pour effet de sélectionner l'onglet affiché en H5 ou il faut ajouter un bout de code pour gérer le double clic et rester sur la feuille Accueil par exemple
Un exemple avec le lien ci dessous lien
Feuille Accueil colonne A en jaune j'ai créé une liste avec les noms de tes feuilles que j'ai nommé simplement list
cette plage jaune peut être sur une feuille différente éventuellement masquée tout comme la colonne A actuelle d'ailleurs
en H5 j'ai créé la liste de validation avec la formule =list
et j'ai copié le code que je t'ai donné hier soir en modifiant simplement l'adresse de la cellule cible C3 par la nouvelle H5
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Ongl As Byte
If Not Intersect(Target, Range("H5")) Is Nothing Then
For Ongl = 1 To ThisWorkbook.Sheets.Count
If Sheets(Ongl).Name <> "Accueil" Then
Sheets(Ongl).Visible = 0
End If
Next
End If
If [H5] > 0 Then Worksheets([H5].Value).Visible = True
Worksheets([H5].Value).Activate
End Sub
Si tu utilises le double clic pour sélectionner ton onglet il faut remplacer
Private Sub Worksheet_Change(ByVal Target As Range)
par
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
sinon le double clic aura pour effet de sélectionner l'onglet affiché en H5 ou il faut ajouter un bout de code pour gérer le double clic et rester sur la feuille Accueil par exemple
Gilles888
Messages postés
13
Date d'inscription
lundi 8 avril 2013
Statut
Membre
Dernière intervention
9 avril 2013
9 avril 2013 à 13:34
9 avril 2013 à 13:34
Il manque ton lien Mike
Mike-31
Messages postés
18354
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
1 janvier 2025
5 110
9 avril 2013 à 13:37
9 avril 2013 à 13:37
Excuse exact, voila
https://www.cjoint.com/?CDjnLH12coe
https://www.cjoint.com/?CDjnLH12coe
Gilles888
Messages postés
13
Date d'inscription
lundi 8 avril 2013
Statut
Membre
Dernière intervention
9 avril 2013
9 avril 2013 à 13:54
9 avril 2013 à 13:54
J'ai adapté ton code pour mon fichier sample ci-dessous (mot de passe: CAP). Cela ne marche pas car plutôt qu'une seule target cell (H5) j'ai une colonne entière (B). Possible?
http://cjoint.com/13av/CDjn0IE0z75.htm
http://cjoint.com/13av/CDjn0IE0z75.htm
Mike-31
Messages postés
18354
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
1 janvier 2025
5 110
9 avril 2013 à 14:22
9 avril 2013 à 14:22
Re,
teste ce fichier, j'ai supprimé les liens hypertextes
par contre pour que les feuilles s'ouvrent il faut que le nom de l'onglet et le contenu de la cellule soit rigoureusement identique
https://www.cjoint.com/?CDjotWYfSwE
teste ce fichier, j'ai supprimé les liens hypertextes
par contre pour que les feuilles s'ouvrent il faut que le nom de l'onglet et le contenu de la cellule soit rigoureusement identique
https://www.cjoint.com/?CDjotWYfSwE
Gilles888
Messages postés
13
Date d'inscription
lundi 8 avril 2013
Statut
Membre
Dernière intervention
9 avril 2013
9 avril 2013 à 15:17
9 avril 2013 à 15:17
Tt gd merci, Voilà tout marche nickel à part ce petit détail: j'ai une autre page que Accueil ou Outil P9 où la même fonctionnalité doit fonctionner.
J'ai donc repris ton code et j'ai changé le range (je fais référence à celui déjà défini) et le nom de la feuille ... Mais ca bug!
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim Ongl As Byte
If Not Intersect(Selection, Range ("'Outils P9'!B6:B86") Is Nothing Then
For Ongl = 1 To ThisWorkbook.Sheets.Count
If Sheets(Ongl).Name <> "Définition Offre" Then
Sheets(Ongl).Visible = 0
End If
Next
If Target > 0 Then Worksheets(Target.Value).Visible = True
Worksheets(Target.Value).Activate
End If
End Sub
J'ai donc repris ton code et j'ai changé le range (je fais référence à celui déjà défini) et le nom de la feuille ... Mais ca bug!
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim Ongl As Byte
If Not Intersect(Selection, Range ("'Outils P9'!B6:B86") Is Nothing Then
For Ongl = 1 To ThisWorkbook.Sheets.Count
If Sheets(Ongl).Name <> "Définition Offre" Then
Sheets(Ongl).Visible = 0
End If
Next
If Target > 0 Then Worksheets(Target.Value).Visible = True
Worksheets(Target.Value).Activate
End If
End Sub
Mike-31
Messages postés
18354
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
1 janvier 2025
5 110
9 avril 2013 à 16:26
9 avril 2013 à 16:26
Re,
tu as une erreur sur cette ligne
If Not Intersect(Selection, Range ("'Outils P9'!B6:B86") Is Nothing Then
remplace par
If Not Intersect(Selection, Range ("Outils P9") Is Nothing Then
tu as une erreur sur cette ligne
If Not Intersect(Selection, Range ("'Outils P9'!B6:B86") Is Nothing Then
remplace par
If Not Intersect(Selection, Range ("Outils P9") Is Nothing Then