Macro pour appliquer un lien hypertexte a une cellule
2 réponses
Emile63
Bonjour =C3=A0 tous,
Sur une grande feuille de donn=C3=A9es, j'ai besoin de coller des liens hyp=
ertextes =C3=A0 une grande quantit=C3=A9e de cellules. Pour me faciliter la=
t=C3=A2che, je me sers donc du code ci-dessous pour arriver =C3=A0 mes fin=
s. Toutefois, je serais plus rapide si au lieu de mettre une lettre au clav=
ier dans la bo=C3=AEte de saisie, je pouvais pointer la cellule avec ma sou=
ris et relever directement l'adresse.
Malheureusement, c'est l'id=C3=A9e mais je ne sais pas comment m'y prendre,=
est-ce que quelqu'un pourrait me venir en aide?
'--------------------------------------------------------------------------
Sub ColleLienSouris()
'Colle le lien hypertexte aux cellules dans la boite de dialogue
Dim MaCellule$, MaValeur$
With Application
.StatusBar =3D "Ex=C3=A9cution macro.."
.EnableEvents =3D False
.DisplayAlerts =3D False
End With
If ActiveSheet.Name =3D "Contrat" Then
MaCellule =3D ActiveCell.Address(RowAbsolute:=3DFalse, ColumnAbsolu=
te:=3DFalse)
Sheets("Table traductions").Select
MaValeur =3D InputBox("Tapez le num=C3=A9ro de ligne", "Hyperlien d=
e cellule", "")
If MaValeur =3D "" Then GoTo Fin:
MaValeur =3D "'Table traductions'!" & "B" & MaValeur
Sheets("Contrat").Select
Range(MaCellule).Select
ActiveCell.Hyperlinks.Add Anchor:=3DSelection, Address:=3D"", SubAd=
dress:=3DMaValeur, ScreenTip:=3D"Atteindre texte original"
Fin:
With Application
.StatusBar =3D False
.EnableEvents =3D True
.DisplayAlerts =3D True
End With
End Sub
'--------------------------------------------------------------------------
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
MichD
Bonjour, Fais un clic droit sur l'onglet de ladite feuille, choisis la commande "Visualiser le code" et copie ce qui suit : '-------------------------------- Private Sub Worksheet_SelectionChange(ByVal Target As Range) End Sub '-------------------------------- Chaque fois que tu sélectionnes une cellule, target représente soit cette cellule ou l'ensemble des cellules de ta sélection. Par conséquent, il est facile d'obtenir l'adresse de la cellule sélectionnée puisque l'objet "Target" est un "Range". Pour obtenir l'adresse : Target.address . L'objet target a les mêmes propriétés qu'un objet "Range" puisque c'est un "Range". ATTENTION : Tu ne veux pas nécessairement ajouter un lien internet à chaque cellule que tu sélectionnes. Par conséquent, tu auras besoin d'une condition pour que le lien hypertexte soit ajouté ou non. Une autre alternative, donne un raccourci clavier à ta macro. Lorsque ta cellule est sélectionnée, tu as qu'à utiliser le raccourci clavier pour ajouter le lien hypertexte. J'espère que cela répond à ta question, je ne suis pas sûr d'avoir tout saisi. MichD
Bonjour,
Fais un clic droit sur l'onglet de ladite feuille, choisis la commande
"Visualiser le code" et copie ce qui suit :
'--------------------------------
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
End Sub
'--------------------------------
Chaque fois que tu sélectionnes une cellule, target représente soit
cette cellule ou l'ensemble des cellules de ta sélection.
Par conséquent, il est facile d'obtenir l'adresse de la cellule
sélectionnée puisque l'objet "Target" est un "Range". Pour obtenir
l'adresse : Target.address . L'objet target a les mêmes propriétés qu'un
objet "Range" puisque c'est un "Range".
ATTENTION : Tu ne veux pas nécessairement ajouter un lien internet à
chaque cellule que tu sélectionnes. Par conséquent, tu auras besoin
d'une condition pour que le lien hypertexte soit ajouté ou non.
Une autre alternative, donne un raccourci clavier à ta macro. Lorsque ta
cellule est sélectionnée, tu as qu'à utiliser le raccourci clavier pour
ajouter le lien hypertexte.
J'espère que cela répond à ta question, je ne suis pas sûr d'avoir tout
saisi.
Bonjour, Fais un clic droit sur l'onglet de ladite feuille, choisis la commande "Visualiser le code" et copie ce qui suit : '-------------------------------- Private Sub Worksheet_SelectionChange(ByVal Target As Range) End Sub '-------------------------------- Chaque fois que tu sélectionnes une cellule, target représente soit cette cellule ou l'ensemble des cellules de ta sélection. Par conséquent, il est facile d'obtenir l'adresse de la cellule sélectionnée puisque l'objet "Target" est un "Range". Pour obtenir l'adresse : Target.address . L'objet target a les mêmes propriétés qu'un objet "Range" puisque c'est un "Range". ATTENTION : Tu ne veux pas nécessairement ajouter un lien internet à chaque cellule que tu sélectionnes. Par conséquent, tu auras besoin d'une condition pour que le lien hypertexte soit ajouté ou non. Une autre alternative, donne un raccourci clavier à ta macro. Lorsque ta cellule est sélectionnée, tu as qu'à utiliser le raccourci clavier pour ajouter le lien hypertexte. J'espère que cela répond à ta question, je ne suis pas sûr d'avoir tout saisi. MichD
MichD
Le 06/08/20 à 12:00, MichD a écrit :
Bonjour, Fais un clic droit sur l'onglet de ladite feuille, choisis la commande "Visualiser le code" et copie ce qui suit : '-------------------------------- Private Sub Worksheet_SelectionChange(ByVal Target As Range) End Sub '-------------------------------- Chaque fois que tu sélectionnes une cellule, target représente soit cette cellule ou l'ensemble des cellules de ta sélection. Par conséquent, il est facile d'obtenir l'adresse de la cellule sélectionnée puisque l'objet "Target" est un "Range". Pour obtenir l'adresse : Target.address . L'objet target a les mêmes propriétés qu'un objet "Range" puisque c'est un "Range". ATTENTION : Tu ne veux pas nécessairement ajouter un lien internet à chaque cellule que tu sélectionnes. Par conséquent, tu auras besoin d'une condition pour que le lien hypertexte soit ajouté ou non. Une autre alternative, donne un raccourci clavier à ta macro. Lorsque ta cellule est sélectionnée, tu as qu'à utiliser le raccourci clavier pour ajouter le lien hypertexte. J'espère que cela répond à ta question, je ne suis pas sûr d'avoir tout saisi. MichD
Cet événement est intéressant aussi. La procédure s'exécute à chaque fois que tu fais un double-clic sur une cellule. Cela empêche la macro de s'exécuter sur un simple clic. La variable "Cancel" dans la ligne de déclaration de macro permet d'interrompre l'exécution de la macro si nécessaire. Il s'agit d'affecter simplement la valeur False à la variable comme ceci : Cancel = False '-------------------- Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) End Sub '-------------------- MichD
Le 06/08/20 à 12:00, MichD a écrit :
Bonjour,
Fais un clic droit sur l'onglet de ladite feuille, choisis la commande
"Visualiser le code" et copie ce qui suit :
'--------------------------------
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
End Sub
'--------------------------------
Chaque fois que tu sélectionnes une cellule, target représente soit
cette cellule ou l'ensemble des cellules de ta sélection.
Par conséquent, il est facile d'obtenir l'adresse de la cellule
sélectionnée puisque l'objet "Target" est un "Range". Pour obtenir
l'adresse : Target.address . L'objet target a les mêmes propriétés qu'un
objet "Range" puisque c'est un "Range".
ATTENTION : Tu ne veux pas nécessairement ajouter un lien internet à
chaque cellule que tu sélectionnes. Par conséquent, tu auras besoin
d'une condition pour que le lien hypertexte soit ajouté ou non.
Une autre alternative, donne un raccourci clavier à ta macro. Lorsque ta
cellule est sélectionnée, tu as qu'à utiliser le raccourci clavier pour
ajouter le lien hypertexte.
J'espère que cela répond à ta question, je ne suis pas sûr d'avoir tout
saisi.
MichD
Cet événement est intéressant aussi. La procédure s'exécute à chaque
fois que tu fais un double-clic sur une cellule. Cela empêche la macro
de s'exécuter sur un simple clic.
La variable "Cancel" dans la ligne de déclaration de macro permet
d'interrompre l'exécution de la macro si nécessaire. Il s'agit
d'affecter simplement la valeur False à la variable comme ceci :
Cancel = False
'--------------------
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As
Boolean)
Bonjour, Fais un clic droit sur l'onglet de ladite feuille, choisis la commande "Visualiser le code" et copie ce qui suit : '-------------------------------- Private Sub Worksheet_SelectionChange(ByVal Target As Range) End Sub '-------------------------------- Chaque fois que tu sélectionnes une cellule, target représente soit cette cellule ou l'ensemble des cellules de ta sélection. Par conséquent, il est facile d'obtenir l'adresse de la cellule sélectionnée puisque l'objet "Target" est un "Range". Pour obtenir l'adresse : Target.address . L'objet target a les mêmes propriétés qu'un objet "Range" puisque c'est un "Range". ATTENTION : Tu ne veux pas nécessairement ajouter un lien internet à chaque cellule que tu sélectionnes. Par conséquent, tu auras besoin d'une condition pour que le lien hypertexte soit ajouté ou non. Une autre alternative, donne un raccourci clavier à ta macro. Lorsque ta cellule est sélectionnée, tu as qu'à utiliser le raccourci clavier pour ajouter le lien hypertexte. J'espère que cela répond à ta question, je ne suis pas sûr d'avoir tout saisi. MichD
Cet événement est intéressant aussi. La procédure s'exécute à chaque fois que tu fais un double-clic sur une cellule. Cela empêche la macro de s'exécuter sur un simple clic. La variable "Cancel" dans la ligne de déclaration de macro permet d'interrompre l'exécution de la macro si nécessaire. Il s'agit d'affecter simplement la valeur False à la variable comme ceci : Cancel = False '-------------------- Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) End Sub '-------------------- MichD