XL 2013 Liens sur illustrations - Hypertexte OU Surbrillance

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

  • AideLiens.xlsx
    252 KB · Affichages: 54

job75

XLDnaute Barbatruc
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

  • AideLiens(1).xlsm
    260 KB · Affichages: 55

job75

XLDnaute Barbatruc
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

  • AideLiens(2).xlsm
    258.9 KB · Affichages: 52

job75

XLDnaute Barbatruc
Bonjour le forum, salut Si...,

J'ai l'impression que TextFrame2 n'existe qu'à partir d'Excel 2013.

Alors utilisons TextFrame qui doit exister sur toutes versions, fichiers (bis) joints.

Bonne journée.
 

Pièces jointes

  • AideLiens(1 bis).xlsm
    260.1 KB · Affichages: 46
  • AideLiens(2 bis).xlsm
    258.9 KB · Affichages: 45

JRBBT

XLDnaute Nouveau
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.
 

job75

XLDnaute Barbatruc
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

  • AideLiens(1 ter).xlsm
    259.9 KB · Affichages: 45
  • AideLiens(2 ter).xlsm
    258.8 KB · Affichages: 40

JRBBT

XLDnaute Nouveau
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

  • Excel.zip
    1.3 MB · Affichages: 30

JRBBT

XLDnaute Nouveau
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.
 

job75

XLDnaute Barbatruc
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+
 

JRBBT

XLDnaute Nouveau
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: 27

Discussions similaires

Statistiques des forums

Discussions
311 729
Messages
2 081 966
Membres
101 852
dernier inscrit
dthi16088