laurent950
XLDnaute Barbatruc
Bonjour le Forum,
Objectif : Substituer Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink) ---->>>> Par un ------>>> Module de Classe personnalisé gérant les évènements
Ci-dessous détail du Module a substituer avec explication du code avec (fichier Excel Joins)
Je souhaite substituer le déclanchement récupéré avec le module dédié aux évènements des feuilles Excel par un Module de Classe avec gestion d'évènement.
Pour le principe j'ai réalisé un Programme (Qui ici ne sert qu'en phase de test uniquement "Ce Programme ne sert à rien en soit")
Sous détail de l'action réalisé suite au click sur l'hyperLien créer.
Donc programme créer sur le fichier Excel ci-joint :
1) Création de l’hyperlien :
* Adresse (Aucune pour cette Hyperlien)
* ScreenTip (Nom de l'objet 2 "qui sera à Rattacher à L'objet 1")
Nota : le lien sera inscrit en cellule C7 de la feuille Bd (La cellule C7 contient le nom de l'Objet 1) avec la création du lien dans cette même cellule.
2 ) hyper lien créé. Active L'objet 2 Liée par l'hyperlien.
Objectif de cette Hyperlien
* Au Click sur ce lien (déclanchement d'un évènement)
* Donc suite au click en cellule C7 de la feuille Bd
a) Depuis les Modules des Feuilles Excel
Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
'
Code........
'
End Sub
**********************************************************************************
Objectif a réalisé ci-dessous.
b) Depuis un Module de Classe (en Utilisant "WithEven" "Even"... ect)
Je souhaiterais déclencher sur le même principe que :
Le Code en Modules de Feuilles (que j'ai créé pour l'exemple)
Projet : Substituer cette procédure (ci-dessous) par un Module de Classe qui gère l'évènement HyperLinks.
Sous détail du principe du programme :
En Feuille Excel "Feuil Shape test Lien" il y a deux Objets :
Objet 1 (Objet Grap 1) dont cet Objet est un Shapes du Nom de : Dessin 1
Objet 2 (TextBox 2) dont cet Objet est un Shapes du Nom de : Text Dessin 1
Chacun de ces 2 Objets sont indépendant :
Objectif Liée les Objet 1 et Objet 2 au Moyen d'un hyper lien
La méthode :
L'objet 1 de nom Dessin 1 (Inscrit en cellule "C:7" de la feuille Bd)
Création d'un Lien dans cette cellule au Moyen "Hyperlinks.Add"
Utilisation pour cette Hyperlinks.Add de :
* Anchor (Pour la cellule "C:7" de la Feuille Bd)
* Address (Aucune adresse car je veux rien Rattacher a ce lien)
* SubAddress (Pour la Feuille "Feuil Shape test Lien" Cellule "C:7")
* ScreenTip (Le Nom de l'objet à rattaché : Objet 2 "Text Dessin 1")
Le Click sur le lien en Cellule C7 Feuille Bb :
* Renvois vers le Module des Feuille Excel (Dans la procédure) :
Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
- Le Code est écrit dans cette procédure.
L'objet Sélectionné est l'Objet 2 (Shapes de Nom : "Text Dessin 1")
Ceci est une Feuille teste pour comprendre et apprendre le même fonctionnement (mais depuis un Module de Classe a réaliser)
Nota : Ces deux Objets seront des Objets situés sur une autre application que celle d'Excel.
Si vous avez la connaissance pour Substituer le dit Module de la feuille par un Module de classe personnalisé gérant les évènements un Grand merci à vous
Cdt
Objectif : Substituer Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink) ---->>>> Par un ------>>> Module de Classe personnalisé gérant les évènements
Ci-dessous détail du Module a substituer avec explication du code avec (fichier Excel Joins)
Je souhaite substituer le déclanchement récupéré avec le module dédié aux évènements des feuilles Excel par un Module de Classe avec gestion d'évènement.
Pour le principe j'ai réalisé un Programme (Qui ici ne sert qu'en phase de test uniquement "Ce Programme ne sert à rien en soit")
Sous détail de l'action réalisé suite au click sur l'hyperLien créer.
Donc programme créer sur le fichier Excel ci-joint :
1) Création de l’hyperlien :
* Adresse (Aucune pour cette Hyperlien)
* ScreenTip (Nom de l'objet 2 "qui sera à Rattacher à L'objet 1")
Nota : le lien sera inscrit en cellule C7 de la feuille Bd (La cellule C7 contient le nom de l'Objet 1) avec la création du lien dans cette même cellule.
2 ) hyper lien créé. Active L'objet 2 Liée par l'hyperlien.
Objectif de cette Hyperlien
* Au Click sur ce lien (déclanchement d'un évènement)
* Donc suite au click en cellule C7 de la feuille Bd
a) Depuis les Modules des Feuilles Excel
Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
'
Code........
'
End Sub
**********************************************************************************
Objectif a réalisé ci-dessous.
b) Depuis un Module de Classe (en Utilisant "WithEven" "Even"... ect)
Je souhaiterais déclencher sur le même principe que :
Le Code en Modules de Feuilles (que j'ai créé pour l'exemple)
Projet : Substituer cette procédure (ci-dessous) par un Module de Classe qui gère l'évènement HyperLinks.
VB:
Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
' Pour rappel c'est un test est cette action sera pour
' interagir avec une autre application que celle d'Ecxel
'
' -------------------------------------------------------------------------
' Sélection du Shapes "Text Dessin 1" au moyen de l'hyperlien de la cellule C7 de la feuille Bd
' -------------------------------------------------------------------------
' Suite à l'événement déclenché
Dim Objshape As Shape ' Objet 1 (Shapes de Nom : "Dessin 1")
Dim NomShapeText As String ' Objet 2 (Shapes de Nom : "Text Dessin 1")
Dim FtestPourLien As Worksheet ' Feuille ou les 2 Objets Shapes sont dessinés
'
' Pour Info :
' Le nom de l'objet 2 est inscrit dans la Variable Objet "Target"
' * dans l'option Infobul : ScreenTip:=CStr("Text Dessin 1")
' Sous détail (ci dessous)
' NomShapeText = Target.ScreenTip
' Création de l'objet liée Au Choix* avec : Set Objshape =
' - *Shapes("Text Dessin 1") OU *Shapes(NomShapeText) OU *Shapes(Target.ScreenTip)
'
' Création de l'objet liée : Objet 2 (Shapes de Nom : "Text Dessin 1")
Set Objshape = Feuil2.Shapes(Target.ScreenTip)
' Selection de cette Objet Liée
Objshape.Select
' Active Feuil2
Set FtestPourLien = Worksheets("Feuil Shape test Lien")
FtestPourLien.Activate
End Sub
Sous détail du principe du programme :
En Feuille Excel "Feuil Shape test Lien" il y a deux Objets :
Objet 1 (Objet Grap 1) dont cet Objet est un Shapes du Nom de : Dessin 1
Objet 2 (TextBox 2) dont cet Objet est un Shapes du Nom de : Text Dessin 1
Chacun de ces 2 Objets sont indépendant :
Objectif Liée les Objet 1 et Objet 2 au Moyen d'un hyper lien
La méthode :
L'objet 1 de nom Dessin 1 (Inscrit en cellule "C:7" de la feuille Bd)
Création d'un Lien dans cette cellule au Moyen "Hyperlinks.Add"
Utilisation pour cette Hyperlinks.Add de :
* Anchor (Pour la cellule "C:7" de la Feuille Bd)
* Address (Aucune adresse car je veux rien Rattacher a ce lien)
* SubAddress (Pour la Feuille "Feuil Shape test Lien" Cellule "C:7")
* ScreenTip (Le Nom de l'objet à rattaché : Objet 2 "Text Dessin 1")
Le Click sur le lien en Cellule C7 Feuille Bb :
* Renvois vers le Module des Feuille Excel (Dans la procédure) :
Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
- Le Code est écrit dans cette procédure.
L'objet Sélectionné est l'Objet 2 (Shapes de Nom : "Text Dessin 1")
Ceci est une Feuille teste pour comprendre et apprendre le même fonctionnement (mais depuis un Module de Classe a réaliser)
Nota : Ces deux Objets seront des Objets situés sur une autre application que celle d'Excel.
Si vous avez la connaissance pour Substituer le dit Module de la feuille par un Module de classe personnalisé gérant les évènements un Grand merci à vous
Cdt
Pièces jointes
Dernière édition: