XL 2013 Liens sur illustrations - Hypertexte OU Surbrillance

  • Initiateur de la discussion Initiateur de la discussion JRBBT
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

JRBBT

XLDnaute Nouveau
Bonjour à vous,
Je suis novice et à la dérive.

Merci d'avance.

Je gère au travers plusieurs fichiers Excel des inventaires de matériels répartis sur plusieurs hectares de bâtiments.

Ces fichiers sont partagés avec des techniciens pour se localiser, mais la solution ''Commentaires textes'' à ces limites. (ex. Bâtiment TOTO, à l'étage, puis à droite à coté de la machine à café)

L'idée est d'avoir:
1-1Sur ''Feuil1'' le listing des matériels (Nommage / Type / S.N / Localisation / Commentaire...)
1-2Sur ''Feuil2'' une carte format image ou j'insère des Illustrations - Formes Excel identifiant chaque matériel.
1-3Sur ''Feuil1'' sur la colonne nommage, pouvoir créer des liens cliquables ou des mises en surbrillance des Illustrations de la ''Feuil2''.

OU

2-1Sur ''Feuil2'' une zone recherche de R1 pointant sur le nommage de la ''Feuil1''
2-2Sur ''Feuil2'' mettre en surbrillance la ''FormeR1''
2-3Sur ''Feuil2'' une petite RECHERCHEV pour afficher le champ ''Commentaire'' de R1 vers ''Feuil2'' (Déjà fait dans mon exemple joint)

Encore merci d'avance de votre aide.
 

Pièces jointes

Bonjour JRBBT,

Il suffit de masquer les Shapes puis d'afficher la bonne :
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim s As Shape
For Each s In Feuil2.Shapes
  If s.TextFrame2.HasText Then If s.TextFrame2.TextRange.Characters.Text Like "R#*" Then s.Visible = False
Next
End Sub

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim s As Shape
If Target.Column = 2 And Target.Row > 2 Then
  Cancel = True
  For Each s In Feuil2.Shapes
    If s.TextFrame2.HasText Then If s.TextFrame2.TextRange.Characters.Text = Target(1).Text _
      Then s.Visible = True: s.Parent.Activate
  Next
End If
End Sub
Fichier joint.

A+
 

Pièces jointes

Re,

Si l'on tient aux liens hypertextes :
Code:
Private Sub Worksheet_FollowHyperlink(ByVal h As Hyperlink)
Dim s As Shape, t$
For Each s In Feuil2.Shapes
  t = ""
  If s.TextFrame2.HasText Then t = s.TextFrame2.TextRange.Characters.Text
  If t = h.Parent Then s.Visible = True Else If t Like "R#*" Then s.Visible = False
  Next
End Sub
Fichier (2).

A+
 

Pièces jointes

Bonjour à vous !!!! 🙂
Un grand merci parmi tant d'autres devant tant d'efficacité.
Toutes vos solutions sont exactement le résultat de mes attentes! Même mieux car dans ma demande je me retrouvais avec x dizaines de shapes sur la même page.
Vous me facilitez la tache.

I'll be back!

Merci.
 
Re,

Bien sûr si l'on accepte de renommer les Shapes _R1 _R2 _R3... c'est plus simple, voir ces fichiers (ter).

La dernière macro :
Code:
Private Sub Worksheet_FollowHyperlink(ByVal h As Hyperlink)
Dim s As Shape
For Each s In Feuil2.Shapes
  If s.Name = "_" & h.Parent Then s.Visible = True Else If s.Name Like "_R#*" Then s.Visible = False
Next
End Sub
A+
 

Pièces jointes

Bonjour à tous.
Dsl je suis toujours aussi doué en macro et intéréssé par vos capacités que je n'ai pas... :/
Je n'ai pas ouvert de nouvelle discussion car la base reste la même, les liens hypertextes. Vous me direz si je dois en ouvrir un nouveau, pas de problème.

Je suis resté sur la même base d'exemple que la fois précédente,
Mais je souhaiterai que en plus du double clique sur R1 de la ''feuil1'' pour afficher le shape sur une Map de la ''feuil2'', que des donnée de la même ligne soient renvoyées vers une mise en page de la ''feuil2''.
Mon exemple joint sera je l'espère plus compréhensible.
...\Excel\Asset Reseau\AideLiens.xlsm

Merci d'avance de vos retours.
 

Pièces jointes

Bonjour,
Une nouvelle fois ''parfait!!'', exactement mon besoin même si je devrais adapter ma structure de répertoires.
Une question me reste, comment créez vous cette zone ou s'afficher les images et surtout la taille ?
Je bloque pour la recréer dans mon vrai fichier.

Merci encore.
 
Bonjour JRBBT,
Une question me reste, comment créez vous cette zone ou s'afficher les images et surtout la taille ?
Sur la plage I15:J20 j'ai inséré (menu DÉVELOPPEUR) et dimensionné un contrôle image ActiveX.

C'est dans ce contrôle que sont chargés les divers fichiers JPEG.

Dans VBA passez en mode Création (menu Exécution) et voyez la propriété PictureSizeMode du contrôle.

A+
 
Encore merci, mais :/
-Creation OK du Contrôle image ActiveX
-Modif option OK PictureSizeMode
Mais la zone Contrôle Image ActiveX reste une zone grise.

La seule disconcordance avec votre config. est en pièce jointe.
Une idée?
Cdt.
 

Pièces jointes

  • Capture.JPG
    Capture.JPG
    119.1 KB · Affichages: 34
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Retour