Insérer une macro pour ouvrir un lien hypertexte et trier un tableau

Bonjour chère communauté, étant novice sur VBA j'aurai vraiment besoin de votre aide... Je souhaiterai combiner deux opérations différentes, et je pense pour cela avoir besoin de Macros.

Voici ci-dessous 2 fichiers : Sur le fichier “carte macro”, il y a un point bleu et en-dessous une zone de texte disant que ce point bleu représente la ville de Coolus.

J’aimerai, via un lien hypertexte, faire en sorte que quand je clique sur ce point bleu le fichier “tableau macro” s’ouvre mais sur l’onglet Feuille 2 directement.

Et j’aurais besoin que le tableau se filtre automatiquement sur “Lieu” pour laisser que la ville de Coolus.

J’aimerai dupliquer cette méthode à d’autres villes ensuite sur une carte plus complète. Je pense que la référence dans la macro pour la ville doit être écrite manuellement (vu qu’il n’existe pas de lien entre la zone de texte et le point bleu).

J'ai essayé plusieurs méthode (formule lien hypertexte imbriqué ect), mais je n'y arrive pas...

Si vous pouvez m'aider ça serait génial.

Merci

17carte-macro.xlsx (411.52 Ko)
16tableau-macro.xlsx (11.53 Ko)

Bonsoir Benji92,

Voici tes fichiers avec notes sur la 1ière feuille de Carte Macro.

Important: le chemin du fichier à ouvrir doit être changé. Pour le test j'ai utiliser une clè USB.

A rajouter aussi une vérification si le 2 ième fichier est déjà ouvert afin de ne pas le ré-ouvrir.

Voir les macros sur les 2 fichiers présentes sur les feuilles concernées et les modules.

Bons tests, bonne continuation.

17benjicarte-macro.xlsm (419.34 Ko)

Bonjour X cellus et merci pour ton aide, ton code fonctionne parfaitement. Cependant je n'arrive pas à rajouter une vérification pour voir si le fichier tableau macro est déjà ouvert (et je souhaiterai qu'un msg d'erreur comme "ce fichier est déjà ouvert" s'affiche).

J'ai essayé plusieurs codes, le plus prometteur semble être celui-là, mais il m'affiche un msg à chaque fois que je lance la macro sans empêcher l'ouverture du fichier.

Peut-tu m'aider ?

Sub AppelFich()

Choix = Range("F1")

'Note changez selon le chemin du fichier

Workbooks.Open ("Benjitableau_macro.xlsm")

Worksheets("Feuil2").Activate: Range("F1") = ""

Range("F1") = Choix

Dim X As Byte

On Error Resume Next

X = Len(Workbooks("Benjitableau_macro.xlsm").Name)

If X > 0 Then MsgBox "classeur déjà ouvert"

End Sub

Merci,

Bonjour Benji92,

Ravi que cela te convienne. Pour la vérification du fichier ouvert, j'ai modifié la macro AppelFich.

Il n'y a pas besoin de passer par un message d'erreur. L'important est que le fichier carte soit toujours ouvert en premier.

Ce qui est normalement le cas. Ensuite la macro ouvre le 2ième fichier s'il n'est pas présent sinon l'utilise directement.

J'ai aussi rajouté un bouton sur le 2ième fichier pour revenir au 1ier afin de choisir une autre ville.

Bons tests, bonne continuation.

3carte.xlsx (690.87 Ko)

Bonjour,

Merci ton aide précieuse. cependant j'ai un problème ; en effet lorsque je cliques sur les noms des villes, il faut que le deuxième fichier soit déjà ouvert, sinon il ne se trie pas. De plus, lorsqu'un autre fichier excel est déjà ouvert, j'ai le message d'erreur d'exécution '9' : L'indice n'appartient pas à la sélection" qui s'affiche.

Voici ci-joint les deux fichiers que je t'avais envoyé où tu avais mis le code, et ci-dessous les 2 "vraies fichiers" de travail où je souhaite intégrer la macro mais sur chaque onglet. Sur le premier onglet, celui du Bourget dans le fichier carte, j'ai mis en colonne S les noms des villes. Ma difficulté est que je n'arrive pas à dupliquer le code que tu m'avais créé sur les 2 vraies fichiers (cela ne marche pas), et je sais pas comment créer un bouton poussoir pour le fichier tableau, comme tu as fait.

PS : J'ai mis 2 points rouge sur les villes de Somain et de Suippes, pour pouvoir tester le code.

Si la macro marche sur un onglet, comment ensuite l'étendre sur tous les autres onglets ?

Peut-tu m'aider ?

Cordialement,

Bonjour Benji92,

Je te rappelles mon précédent message.

Il n'y a pas besoin de passer par un message d'erreur. L'important est que le fichier carte soit toujours ouvert en premier.

Ce qui est normalement le cas. Ensuite la macro ouvre le 2ième fichier s'il n'est pas présent sinon l'utilise directement.

Je télécharge Tableau suivi et Carte, les 2 premiers les ayant déjà. Et te retournerais bientôt ceux téléchargés ce jour.

A suivre...

Bonsoir Benji92,

Je te retournes tes 2 fichiers Carte et Tableau suivi avec les modifications VBA pour s'adapter à plusieurs onglets.

Voir notes et les macros dans le code feuille et les modules. Pour exemple pour les autres feuilles.

Si besoin fais moi un retour.

Bons tests, bonne continuation.

4carte.xlsm (697.43 Ko)

Bonjour,

Encore merci pour ta réponse précieuse, j'ai corrigé l'erreur, maintenant toutes les colonnes pour les tableaux sont identiques, et les lieux se situent sur la colonne J, donc on peut directement faire référence à ça pour simplifier le code (j'ai supprimé Villeneuve Mobitrain).

J'ai toujours plusieurs difficultés :

1) J'arrive à copier le code mais il ne marche pas (aucune référence à la ville est trouvé, et il ne trouve pas le fichier tableau dès que je le renomme, alors que je change bien le nom dans la macro)

2) J'ai lié les points rouge via un lien hypertexte au nom de la ville en format texte pourtant lorsque je lance le code ou que je clique sur le point ou sur le texte rien ne se passe.

3) Je n'arrive pas à reproduire le bouton de renvoi au fichier carte que tu as créé (je ne vois aucune trace de lien hypertexte, comment as-tu fais ?) Car je souhaite le reproduire sur les autres onglets.

Je pense que j'ai surtout besoin que tu m'expliques étapes par étapes la manière dont tu as construit le code parce que je n'arrive pas à la reproduire (pourtant il marche).

Ci-joint le nouveau fichier tableau avec les lieux en colonne J.

Merci de me consacrer autant de temps,

Cordialement,

Bonsoir Benji92,

Je télécharge ton dernier fichier. Si tu as mis plus de points rouge je vais voir s'il fonctionnent.

Sinon je vais réaliser une aide pour que tu vois bien le cheminement du code afin que tu ne sois pas bloqué.

Comme tu as formaté tes tableaux, lieux sur colonne J. Cela simplifiera un peu le code.

A suivre...

Bonjour X cellus,

Je voulais juste savoir si tu as pu jeter un coup d’œil sur le fichier^^, rien d'urgent de toute manière

Bonne journée à toi,

Cordialement,

Bonjour Benji92,

J'ai bien téléchargé ton dernier fichier comme je l'écrivais dans un récent message. Mais il n'y a pas de carte...

Et c'est ce que je te faisait part dans mon dernier message. Mais apparemment il est pas passé.

En effet je souhaitais plus de point rouge sur la carte afin de tester encore et mieux t'expliquer le fonctionnement. Non pas pour l'ensemble des villes mais 2 à maxi 3 de plus.

Donc j'attendais la carte ou une portion de carte tout en étant occupé sur d'autres posts.

Dès que tu me l'envoie tu est prioritaire. Car cela fait bien 2 semaines que date mon dernier écrit.

À suivre...

Rechercher des sujets similaires à "inserer macro ouvrir lien hypertexte trier tableau"