Macro Afficher/Masquer automatiquement les autres feuilles selon selection

Résolu
Belinos Messages postés 15 Date d'inscription   Statut Membre Dernière intervention   -  
f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je début en VBA j'ai des difficultés à trouver un solution alternative qui fonctionne pour mon fichier.
J'essaye de créer un classeur contenant des tableaux de données d'une région par départements. Le but étant d’accéder à ces différents tableaux en cliquant sur le département choisi (carte reproduite au format objet).
Le problème est que je n'arrive pas à seulement faire afficher la feuille qui m'intéresse tout en masquant les autres inutiles puis à reproduire l'action (va et vient entre les départements) sans avoir d'erreur de type 1004 dû au fait que les feuilles sont masquées.

https://www.cjoint.com/c/JLskW3iolga

Merci pour votre aide !!
A voir également:

6 réponses

f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 713
 
Bonjour,

Les macros sont ou , car vous mettez a dispo un fichier xlsx pas xlsm
0
Belinos Messages postés 15 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour,

oui pardon je me suis trompé de format de fichier

https://www.cjoint.com/c/JLsmYKm0Rza
0
cs_Le Pivert Messages postés 7904 Date d'inscription   Statut Contributeur Dernière intervention   729
 
Bonjour,

Ton classeur est inexploitable!

voir ceci:

http://boisgontierj.free.fr/pages_site/lesimages.htm#CarteFranceDep

en particulier cela:

Pour déclencher une macro sur le clic d'un shape:

Voilà
0
Belinos Messages postés 15 Date d'inscription   Statut Membre Dernière intervention  
 
Effectivement, je ne sais pas ce que j'ai fait avec la fonction partager d'Excel...
je l'ai refait ça devrait fonctionner :

https://www.cjoint.com/c/JLsokiFnDpa
0
cs_Le Pivert Messages postés 7904 Date d'inscription   Statut Contributeur Dernière intervention   729
 
C'est tout simple:

Voici les macros:

Sub deuxsevres()
boucle
 Sheets("Deux-sèvres").Visible = True
 Sheets("Deux-sèvres").Activate
End Sub
Sub charente()
boucle
 Sheets("Charentes").Visible = True
   Sheets("Charentes").Activate
End Sub
Sub boucle()
'Déclare la variable objet Worksheet
Dim Ws As Worksheet
'Boucle sur toutes les feuille de calcul du classeur. Les onglets graphiques ne sont pas pris
'en compte.
'ThisWorkbook correspond à l'objet classeur contenant la macro
For Each Ws In ThisWorkbook.Worksheets
   If Ws.Name <> "Région" Then
   Ws.Visible = xlSheetVeryHidden
    End If
Next Ws
End Sub


ensuite tu te positionnes sur la shape et clic droit: affecter une macro et tu sélectionnes la macro correspondante

Voilà

+ Le Pivert
0
Belinos Messages postés 15 Date d'inscription   Statut Membre Dernière intervention   > cs_Le Pivert Messages postés 7904 Date d'inscription   Statut Contributeur Dernière intervention  
 
Merci beaucoup pour votre aide!
ça va me permettre de bien avancer sur mon projet :)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 713
 
Bonjour a tous,

Si les Shappes sont nommees du nom de departement, il y a une seule procedure a affecter a toutes les Shappes.
La dite procedure masquera toutes les feuilles departement et affichera la feuille du nom de la Shappe cliquee
0
f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 713
 
Bonjour,

Une autre facon de faire avec moins de code.
Votre region n'a pas tous les departements

https://mon-partage.fr/f/03EWSvdD/
0